Tam*_*mpa 7 ubuntu daemon upstart
我正在使用upstart为生成的nginx python fastcgi脚本创建一个守护进程.如果我使用下面的工作:
sudo start myserver
Run Code Online (Sandbox Code Playgroud)
什么不起作用是:
sudo stop myserver
stop: Unknown instance:
Run Code Online (Sandbox Code Playgroud)
下面是我的conf文件,其中包含停止进程的命令.我假设杀死hte proccess的命令是在停止前脚本?
#!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
Run Code Online (Sandbox Code Playgroud)
处理这个的最好方法是告诉spawn-fcgi在前台运行,而不是daemonize.spawn-fcgi的手册页说该-n选项可以做到这一点.然后你可以重写这整个upstart工作:
start on runlevel [2345]
stop on runlevel [016]
respawn
exec spawn-fcgi -n -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
Run Code Online (Sandbox Code Playgroud)
请注意,使用Upstart 1.4,您甚至不需要日志方向,因为它默认为"console log",它将具有/var/log/upstart/$UPSTART_JOB.log中的所有输出..所以它应该只是
start on runlevel [2345]
stop on runlevel [016]
respawn
exec spawn-fcgi -n -d /home/ubuntu/workspace/rtbopsConfig/myserver/ -f /home/ubuntu/workspace/rtbopsConfig/myserver/index.py -a 127.0.0.1 -p 9001
Run Code Online (Sandbox Code Playgroud)
值得注意的是,它以root身份运行,但它在端口9001上侦听.所以你可能最好不要像无人一样运行.使用Upstart 1.5(Ubuntu 12.04及更高版本)只需添加:
setuid nobody
setgid nogroup
Run Code Online (Sandbox Code Playgroud)
(您可能必须将nobody/nogroup更改为ubuntu/ubuntu,因为您的文件位于/ home/ubuntu中)
另请注意,这start on startup将无法可靠地工作,因为startup事件发生在文件系统安装之前和网络启动之前.也start on shutdown只是简单不起作用,因为它不是一个真实的事件.查看man upstart-events更多活动.
| 归档时间: |
|
| 查看次数: |
12153 次 |
| 最近记录: |