0

这是脚本内容,位于 /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 上运行。

4

1 回答 1

0

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

  • init-d-script实际上调用start-stop-daemon,它们不能很好地处理通过--exec选项指定的脚本。杀死脚本时,您应该只指定--name选项。但是,init-d-script一如既往地填充--exec选项,它不能与脚本守护进程一起使用。我必须自己编写 sysv 脚本。

  • start-stop-daemon不会神奇地守护您提供的东西。因此,提供给的可执行文件start-stop-daemon本身应该被守护,而不是常规程序。

于 2017-07-27T06:59:16.313 回答