1、Supervisor安装 :php
sudo apt-get install supervisor
supervisor提供两个命令:shell
/usr/bin/supervisord ;supervisor服务守护进程vim
/usr/bin/supervisorctl ;supervisor控制台进程oop
supervisor的配置文件默认路径为:spa
/etc/supervisor命令行
--conf.d ;存放着supervisor监管的进程的配置信息,一个进程对应一个配置文件rest
--supervisord.conf ;supervisor的主配置文件,定义服务名称以及接口等等code
2、Supervisor配置接口
用supervisor监控一个脚本进程,须要在/etc/supervisor/conf.d中新建一个关于这个脚本进程的配置文件。进程
vim script.conf
[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 #将程序错误信息重定向到该文件
3、Supervisor管理
Supervisord安装完成后有两个可用的命令行supervisor和supervisorctl,命令使用解释以下:
supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
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都不会载入最新的配置文件。
supervisorctl reload,载入最新的配置文件,中止原有进程并按新的配置启动、管理全部进程。
supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
注意:显示用stop中止掉的进程,用reload或者update都不会自动重启。