当前位置:编程学习 > 网站相关 >>

如何管理你的常驻job,自动启动?挂掉重启?用supervisod管理你的进程吧

   我们可能有一台服务器,上边跑了许多常驻的job,就是一直在跑的程序,假设这台电脑突然停电了,你要一个一个起这些进程,假设某些进程意外挂掉了,你只能等到客户来投诉了才知道,噢。。我这个进程挂掉了,想找个解决这个问题?
 
       最近无意间用上了这个冬冬,我在ubuntu下,easy_install 装好,具体见http://supervisord.org/installing.html
 
 
然后需要生成一个配置文件
 
echo_supervisord_conf > /etc/supervisord.conf
 
这个需要root权限,但是我用sudo 执行,却提示权限不够,所以我把配置文件放在另外一个目录了
 
不过启动的时候需要指定一下路径
 
supervisord -c /home/xxx/supervisord.conf
 
现在来编辑supervisord.conf
 
关键几个点,一个是开启一个web管理页面,只要把
 
[inet_http_server]         ; inet (TCP) server disabled by default
port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
username=user              ; (default is no username (open server))
password=123 
 
这几句前边分号去掉,注意port这个key,如果你想让外部的机器也可以访问,需要将127.0.0.1改成0.0.0.0端口随便写个,当然绑定这个端口的话,你需要用root权限启动
 
sudo supervisord -c /home/xxx/supervisord.conf
 
下边就是那个
 
;[program:theprogramname]
 
 
 
以及一系列的key值,这个是关键
 
每项具体的解释可以参见官方的文档http://supervisord.org
 
我们常用只需要这么几个
 
[program:test]
command=python /home/xxx/test.py
autostart=true
autorestart=true
startretries=5
 
 
 
相信你能看的懂
 
 
 
ok把这个复制进去,就相当于会启动一个 python /home/xxx/test.py
 
保存好了,你要运行
 
supervisorctl -c /home/xxx/supervisord.conf
 
 
 
然后输入 update
 
上边的python程序就跑起来了
 
 
 
访问localhost:9001发现有个叫test的是个绿色的running状态
 
 
 
 
 
补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,