supervisor守护进程
supervisor守护进程,Linux进程守护,supervisor守护Linux进程
一、安装:
- sudo pip install supervisor
- sudo easy_install supervisor
- apt-get install supervisor
- yum install supervisor
二、supervisor的配置文件默认路径为:
- /etc/supervisord.d ;存放着supervisor监管的进程的配置信息,一个进程对应一个配置文件
- /etc/supervisord.conf ;supervisor的主配置文件,定义服务名称以及接口等等
三、如果没有配置文件,创建配置文件:
root下执行:echo_supervisord_conf > /etc/supervisord.conf
四、Supervisor配置:
用supervisor监控一个脚本进程,需要在/etc/supervisor.d中新建一个关于这个脚本进程的配置文件
示例1:
vim script.conf:
1 2 3 4 5 6 7 8 9 10 |
[program:srcipt] #程序的名字,在supervisor中可以用这个名字来管理该程序。 command=scirpt.php #启动程序的命令 autorstart=true #设置该程序是否随supervisor的启动而启动 directory=page/to/your/ #相当于在该目录下执行程序 autorestart=true #程序停止之后是否需要重新将其启动 startsecs=10 #重新启动时,等待的时间 startretries=36 #重启程序的次数 redirect_stderr=true #是否将程序错误信息重定向的到文件 stdout_logfile=/home/hadoop/supervisor_log/log.txt #将程序输出重定向到该文件 stderr_logfile=/home/hadoop/supervisor_log/err.txt #将程序错误信息重定向到该文件 |
示例2:
vim nginx.conf:
1 2 3 4 5 6 |
[program:nginx] command=/usr/local/nginx/sbin/nginx ;要执行的命令,即启动需要守护的进程 priority=1 ;优先级 numprocs=1 ;启动的进程数目 autostart=true ;supervisor启动的时候是否随着同时启动 autorestart=true ;当supervisor程序crash的时候,这个进程会自动重启(很重要 |
五、supervisor提供两个命令:
- /usr/bin/supervisord ;supervisor服务守护进程
- /usr/bin/supervisorctl ;supervisor控制台进程
supervisorctl详细使用用法:
- supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
- supervisorctl status, 查看状态
- supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon。
- supervisorctl start programxxx,启动某个进程
- supervisorctl restart programxxx,重启某个进程
- supervisorctl stop groupworker: ,重启所有属于名为groupworker这个分组的进程(start,restart同理)
- supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。(用stop停止掉的进程,用reload或者update都不会自动重启)
- supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
- supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
Copyright:cpp.cloudcpp.com Share、Open- C/C++程序员之家