Supervisor 是一个进程管理工具,主要运行在 Linux/Unix 系统上,用来启动、停止、监控和自动重启后台进程。
它采用客户端/服务器模式,由 supervisord 负责管理进程,由 supervisorctl 负责控制。
Supervisor 架构
supervisorctl
|
|
↓
supervisord
|
------------------------
| | |
↓ ↓ ↓
worker1 worker2 worker3
PHP PHP PHP
核心两个程序:
supervisord
后台守护进程。
作用:
- 读取配置
- 启动子进程
- 监控状态
- 自动重启
例如:
supervisord -c /etc/supervisor/supervisord.conf
supervisorctl
命令控制工具:
例如:
查看:
supervisorctl status
输出:
email_worker RUNNING pid 1234
停止:
supervisorctl stop email_worker
安装 Supervisor
Ubuntu:
apt install supervisor
CentOS:
yum install supervisor
查看:
supervisord –version
Supervisor 常用命令
查看全部
supervisorctl status
启动
supervisorctl start xxx
停止
supervisorctl stop xxx
重启
supervisorctl restart xxx
全部重启
supervisorctl restart all
更新配置
supervisorctl reread
supervisorctl update