我的系统V init脚本不返回

时间:2017-07-26 12:29:50

标签: sysv

这是脚本内容,位于/etc/init.d/myserviced:

#!/lib/init/init-d-script

DAEMON="/usr/local/bin/myprogram.py"
NAME="myserviced" 
DESC="The description of my service"

当我启动服务时(通过直接调用它或通过调用sudo service myserviced start),我可以看到程序myprogram.py运行,但它没有返回到命令提示符。

我想必定会有一些我误解的东西,那又是什么呢?

系统是Debian,在Raspberry Pi上运行。

1 个答案:

答案 0 :(得分:0)

经过更多的工作,我终于解决了这个问题。主要有两个原因:

  • init-d-script实际上调用了start-stop-daemon,他们不能通过--exec选项指定的脚本运行良好。杀死脚本时,您应该只指定--name选项。但是,由于init-d-script始终填充--exec选项,因此它不能与脚本守护程序一起使用。我必须自己编写sysv脚本。

  • start-stop-daemon没有神奇地守护你所提供的东西。因此,提供给start-stop-daemon的可执行文件应该自己守护,但不是常规程序。