我现在使用的是树莓派的 RASPBIAN JESSIE LITE系统,
在普通命令行下使用
screen -dmS 'jenkins' java -jar /usr/jenkins/jenkins.war
是没问题的,将命令放在/etc/init.d/xxx中的start选项下却无法生效。
请linux大神指点一二,问题出现在哪
附上完整的文件:
#! /bin/shcase $1 in
start)
screen -dmS 'jenkins' java -jar /usr/jenkins/jenkins.war
;;
*)
echo "?"
;;
esac
exit 0

解决方案 »

  1.   

    java命令用全路径试试
      

  2.   

    在#! /bin/sh后加上source ~/.bash
    狠点的话就用
    set | xargs -i export {}
      

  3.   

    这个脚本如果是自动执行的,需要注意与其它脚本的执行顺序的问题。
    这里可能是 PATH 变量没有初始化,导致找不到 screen  命令或 java 命令
      

  4.   

    我觉得你这个脚本执行的太早,那时候系统很多服务都还没启动。你可以把该脚本放在 /usr/bin/**.sh目录下
    然后创建一个/etc/xdg/autostart/***.desktop  (该目录是启动用户级程序的地方,例如托盘中的时钟之类的都在该目录下自动启动),在该文件中Exec=执行上面那个脚本如果可以的话请采纳
      

  5.   

    screen加上全路径试下
      

  6.   

    在脚本的#/bin/sh 下添加“# chkconfig、”和“# description:”
       例如:
        # chkconfig: 2345 64 36
        # description: A very fast and reliable SQL database engine.
    其中上面的chkconfig 和 description是必须的 
    其中上面64是开机(start)启动的顺序,36是关机前停止(stop)服务的顺序,而2345是指可以在--level中的2/3/4/5级别自动启动
    /etc/init.d/ 的启动脚本鼻血这样设置了才能作为系统服务启动