使用脚本启动和结束自己的进程

使用脚本启动和结束自己的进程

我正在尝试在 Upstart 中设置一个脚本,用于启动多个内部进程,并在必要时终止它们

$ listener.py -startall
$ listener.py -killall

我可以使用此设置运行它:

# Listener Service

description     "Listener Server"

start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]

exec /home/www-data/listener/bin/listener.py -startall

pre-stop        exec /home/www-data/listener/bin/listener.py -killall

但我想知道如何运行命令 listener.py -killall 来完成服务:

$ sudo service listener stop
$ stop: Unknown instance:

我的 upstart 脚本仅启动服务,但是当我尝试停止它时它不起作用。

提前致谢。

答案1

在 Ubuntu 上,plymouth.conf 中有一些与我的情况类似的内容,然后像 plymouth.conf 一样,我在 upstart 脚本中添加了一句话来标记服务,就像一个可以 fork 更多进程的进程:expect fork

# Listener Service

description     "Listener Server"

start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]

expect fork

exec /home/www-data/listener/bin/listener.py -startall

pre-stop        exec /home/www-data/listener/bin/listener.py -killall

现在一切正常!

相关内容