Supervisor:是用Python开发的一套通用的进程管理程序,它负责自行调用启动子程序,响应来自客户端的命令,重新启动崩溃或退出的子进程
安装
yum install supervisor -y
在目录/etc/supervisord.d下编辑文件redis.ini,如下
command=/usr/bin/redis-server /etc/redis.conf
priority=999 ; 优先级(越小越优先)
autostart=true ; supervisord启动时,该程序也启动
autorestart=true ; 异常退出时,自动启动
startsecs=10 ; 启动后持续10s后未发生异常,才表示启动成功
startretries=3 ; 异常后,自动重启次数
exitcodes=0,2 ; exit异常抛出的是0、2时才认为是异常
stopsignal=QUIT ; 杀进程的信号
; 在程序发送stopignal后,等待操作系统将SIGCHLD返回给supervisord的秒数。
; ; 如果在supervisord从进程接收到SIGCHLD之前经过了这个秒数,
; ; supervisord将尝试用最终的SIGKILL杀死它
stopwaitsecs=1
user=root ; 设置启动该程序的用户
log_stdout=true ; 如果为True,则记录程序日志
log_stderr=false ; 如果为True,则记录程序错误日志
logfile=/var/log/redis-server.log ; 程序日志路径
logfile_maxbytes=1MB ; 日志文件最大大小
logfile_backups=10 ; 日志文件最大数量
启动supervisord
supervisord -c /etc/supervisord.conf
查看状态
[root@bhs supervisord.d]# supervisorctl status
redis-server RUNNING pid 17342, uptime 0:00:12
常用的相关管理命令
supervisorctl restart <application name> ;重启指定应用
supervisorctl stop <application name> ;停止指定应用
supervisorctl start <application name> ;启动指定应用
supervisorctl restart all ;重启所有应用
supervisorctl stop all ;停止所有应用
supervisorctl start all ;启动所有应用
supervisorctl shutdown
supervisorctl status