linux 安装守护进程supervisor

 linux的守护进程类似于windows的服务。linux通过supervisor创建守护进程。

1、安装supervisor

sudo apt-get install supervisor -- ubuntu
yum install -y supervisor       -- centos

安装成功后,supervisor就会默认启动,也会随系统启动。

CentOS安装完成之后,默认不启动,可以使用脚本启动:

/usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf

2、有很多添加守护进程的方法,下面介绍一种最好用的一种,将每个进程的配置文件单独拆分,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名。

[program:jingchengmingzi]
command=python start.py    #被监控的进程启动命令 
numprocs=1                   #启动进程的数量
startsecs=1                                                                 
directory=/home/       #脚本所在的目录
autostart=true        #是否随supervisor启动  默认为true
autorestart=true   #是否自动重启 三个选项false、unexpected、true,若为false,无论什么情况下都不自动重启;若为unexpected,只有进程退出码不在exitcodes里面时才重启
startretries=10      #启动失败后的重试次数
exitcodes=0           #正常退出代码
stopsignal=KILL        #用来杀死进程的信号
stopwaitsecs=10         #发送stopsigal前的等待时间
redirect_stderr=true    #重定向stderr到stdout
stdout_logfile=logfile  #指定日志文件
user=root             #脚本以什么用户身份运行

这样子就创建好了守护进程:OC

3、web操作界面创建

    在supervisor的配置文件supervisord.conf中添加一下代码

[inet_http_server]
port=0.0.0.0:9001
username=user
password=123

 

 4、supervisor常用命令

supervisorctl version     #查看supervisor版本
supervisorctl start OC    #启动进程OC
supervisorctl stop OC     #停止进程OC
supervisorctl start all   #启动所有进程
supervisorctl stop all    #停止所有进程
supervisorctl status      #查看所有进程状态
supervisorctl reload      #载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl update      #根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。

5、supervisor启动和停止的日志文件存放在/var/log/supervisor/supervisord.log

注意:显式用stop停止掉的进程,用reload或者update都不会自动重启。


版权声明:本文为zhang804633234原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。