我的系统 V 初始化脚本没有 return

my system V init script don't return

这是脚本内容,位于/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 运行,但它没有 return命令提示符。

我想一定是我理解错了什么,那是什么?

系统是 Debian,运行ning on Raspberry Pi。

经过一番努力,我终于解决了这个问题。主要有2个原因:

  • init-d-script 实际上调用了 start-stop-daemon,它们不能很好地使用通过 --exec 选项指定的脚本。杀死脚本时,您应该只指定 --name 选项。然而,由于 init-d-script 总是填充 --exec 选项,它不能与脚本守护进程一起使用。 sysv脚本得自己写了

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