这里整理了 Supervisor 核心管理命令清单,涵盖服务启停、进程管控、配置重载等高频操作,按「服务级」「进程级」「调试级」分类,方便你快速查阅:
一、Supervisor 服务本身管理(系统级)
| 操作 | 命令(CentOS/RHEL) | 命令(Ubuntu/Debian) | 说明 |
|---|
| 启动服务 | systemctl start supervisord | systemctl start supervisor | 启动 Supervisor 主进程 |
| 停止服务 | systemctl stop supervisord | systemctl stop supervisor | 停止 Supervisor 主进程 |
| 重启服务 | systemctl restart supervisord | systemctl restart supervisor | 重启 Supervisor 主进程 |
| 查看服务状态 | systemctl status supervisord | systemctl status supervisor | 查看是否运行、PID、日志 |
| 设置开机自启 | systemctl enable supervisord | systemctl enable supervisor | 开机自动启动 Supervisor |
| 关闭开机自启 | systemctl disable supervisord | systemctl disable supervisor | 取消开机自启 |
二、Supervisor 进程管控(核心高频)
1. 基础操作(单个进程)
| 操作 | 命令 | 说明 |
|---|
| 启动指定进程 | supervisorctl start 进程名 | 启动单个进程(如 supervisorctl start crmeb-laravels) |
| 停止指定进程 | supervisorctl stop 进程名 | 停止单个进程 |
| 重启指定进程 | supervisorctl restart 进程名 | 重启单个进程(先停后启) |
| 查看指定进程状态 | supervisorctl status 进程名 | 查看进程是否运行、PID、运行时长 |
2. 批量操作(所有进程)
| 操作 | 命令 | 说明 |
|---|
| 启动所有进程 | supervisorctl start all | 启动 Supervisor 管理的所有进程 |
| 停止所有进程 | supervisorctl stop all | 停止所有进程 |
| 重启所有进程 | supervisorctl restart all | 重启所有进程 |
| 查看所有进程状态 | supervisorctl status | 列出所有进程的状态(RUNNING/STOPPED/FATAL) |
三、配置重载 & 日志调试(排障必备)
| 操作 | 命令 | 说明 |
|---|
| 重载配置文件 | supervisorctl reload | 修改配置文件后,重载配置(不中断运行中的进程) |
| 强制更新配置 | supervisorctl update | 新增 / 删除进程配置后,更新进程列表(仅影响变更的进程) |
| 查看进程实时日志 | supervisorctl tail -f 进程名 | 实时查看进程日志(类似 tail -f),排障用 |
| 查看日志最后 N 行 | supervisorctl tail 进程名 100 | 查看进程日志最后 100 行(替换 100 为指定行数) |
| 清空进程日志 | supervisorctl clear 进程名 | 清空指定进程的日志文件 |
| 进入交互模式 | supervisorctl | 进入 Supervisor 交互界面,可连续执行命令(输入 exit 退出) |
四、常用示例(结合 CRMEB 场景)
bash
运行
# 1. 查看CRMEB的LaravelS进程状态
supervisorctl status crmeb-laravels
# 2. 重启CRMEB进程并查看日志
supervisorctl restart crmeb-laravels
supervisorctl tail -f crmeb-laravels
# 3. 修改配置后重载(比如改了LaravelS端口)
supervisorctl reload
# 4. 紧急停止所有进程(如服务器维护)
supervisorctl stop all
注意事项
- 进程名对应
/etc/supervisor/conf.d/ 下配置文件里的 [program:进程名] 部分; - 若执行
supervisorctl 命令提示「找不到命令」,需先安装:yum install supervisor(CentOS)/ apt install supervisor(Ubuntu); - 日志默认路径:进程日志在配置文件的
stdout_logfile 指定,Supervisor 自身日志通常在 /var/log/supervisor/。