我正在使用 upstart 为衍生的 nginx python fastcgi 脚本创建一个守护进程。如果我使用以下方法,它可以工作:
sudo start myserver
什么不起作用是:
sudo stop myserver
stop: Unknown instance:
下面是我的 conf 文件,其中包含用于停止进程的命令。我假设杀死 hte proccess 的命令在 pre-stop 脚本中?
#!upstart
description "myserver"
author "Test"
start on startup
stop on shutdown
respawn
#instance
script
export HOME="/root"
echo $$ > /var/run/myerver.pid
exec spawn-fcgi -d /home/ubuntu/workspace/rtbopsConfig/myserver/ -f /home/ubuntu/workspace/rtbopsConfig/myserver/index.py -a 127.0.0.1 -p 9001 >> /var/log/myserver.sys.log 2>&1
end script
pre-start script
# Date format same as (new Date()).toISOString() for consistency
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> /var/log/myserver.sys.log
end script
pre-stop script
rm /var/run/myserver.pid
sudo kill `sudo lsof -t -i:9001`
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> /var/log/myserver.sys.log
end script