2.supervisor实时监控程序存活状态

1.supervisor是一款python开发的一个client/server服务,是一款进程管理工具,支持linux/unix系统,但是不支持windows系统。

它可以很方便的监听、启动、停止、重启一个或多个进程,当一个进程被意外杀死,supervisor可以立马启动进程,保证了服务

的稳定性。

ubuntu系列系统下

2.安装:apt-get install supervisor

3.配置:在目录:/etc/supervisor/conf.d 下添加 XXX.conf (XXX是你的app的名字)

[program:videoupload] #监听的服务的名字
command=python manage.pyc runserver 0.0.0.0:9999 #启动服务的命令
directory=/var/websync/weibo_video_upload/uploadmodule/ #服务运行的路径
environment=PYTHONPATH="$PYTHONPATH:/usr/local/lib" #服务运行的环境(我的是python站点)
user=root #用哪个用户启动
stopsignal=INT #(进程停止信号,可以使用默认)
autostart=true #(是否随supervisord启动一起启动,默认true)
autorestart=true # (这个是设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的退 出码的时候,才会被自动重启。当为true的时候,只要子进程挂掉,将会被无条件的重启)
startsecs=1 # (这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了默认值为1 。。非必须设置)
stderr_logfile=/var/log/supervisorlog/videoupload.err.log # (这个东西是设置stderr写的日志路径,当redirect_stderr=true。这个就不用设置了,设置了也是白搭。因为它会被写入stdout_logfile的同一个文件中 默认为AUTO,也就是随便找个地存,supervisord重启被清空。。非必须设置)
stdout_logfile=/var/log/supervisorlog/videoupload.out.log

 4.操作命令:

(1)supervisorctl status //查看状态

(2)supervisorctl start web_server //开启一个进程

(3)supervisorctl stop web_server //停止一个进程

(4)supervisorctl restart web_server //重启一个进程

(5)supervisorctl reread //重新加载配置

(6)supervisorctl update //更新启动列表

原文地址:https://www.cnblogs.com/jiangjing/p/8350032.html