supervisor常用配置及实用命令

配置文件示例

/etc/supervisord.d/*.conf

# program 后填写进程(组)名称
[program:spider]
# directory 是进程的当前目录
directory=/data/wwwroot

# command 是要执行的命令
command=/usr/bin/php spider.php

# 启动进程数
process_name=%(program_name)s_%(process_num)s
numprocs=4

# 进程运行的用户身份
user=www

# 是否随supervisor启动
autostart=true
# 是否在挂了之后重启,意外关闭后会重启,比如kill掉!
autorestart=true

# 失败启动尝试次数 
startretries=3
# 标准错误输出的位置
stderr_logfile=/tmp/spider_err.log
# 标准输出的位置
stdout_logfile=/tmp/spider_out.log

命令

命令说明示例
status显示所有受控程序的运行状态supervisorctl status
update用于修改配置文件后重启程序,仅修改了配置的进程受影响supervisorctl update
restart重新启用程序(不会重新读配置)
重新启动进程组
重启 spider 程序
supervisorctl restart spider
重启 spider 程序组
supervisorctl restart spider:*
重启所有受控程序
supervisorctl restart all
stop/start停止程序/启动同 restart 用法
tail -f查看日志末尾 stderr 不写,默认读取 stdout 内容
supervisorctl tail -f spider stderr
supervisorctl tail -f spider:spider_port=2

其他实用命令

#查找发生了错误的程序
supervisorctl status | grep FATAL

#重启所有发生了错误的进程
supervisorctl restart $( supervisorctl status | grep FATAL | awk '{print $1}' )

Version 4.2.2

Author: obsidian

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注