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版权协议,转载请附上原文出处链接和本声明。