如何从服务(守护进程)启动新程序?

如何从服务(守护进程)启动新程序?

我正在编写一个在 Ubuntu 上作为守护进程运行的简单 python 脚本。我已通过编写有效的 init.d 启动脚本成功安装并启动了它。

问题是,我可以(以及如何)从该守护进程调用另一个程序吗?

我试过了:

os.system("/bin/cp /tmp/somefileA /tmp/somefileB")
subprocess.call(["/bin/cp", "/tmp/somefileA", "/tmp/somefileB"])
# i'am not actually copying files, here i use cp for illustration because it doesn't involve stdin/stdout.

但是当脚本通过以下方式启动时,它们都不起作用(os.systemis returned256subprocess.callis returned ):1

sudo service some_service start

但如果我从终端执行脚本,它就能正常工作。这是由某些安全策略引起的吗?谢谢。

答案1

您可以使用 init 脚本。在 /etc/init/example.conf 中

    description     "My app"

start on startup
stop on shutdown
respawn
respawn limit 60 10

exec sudo blablabla

相关内容