supervisorctr命令简介
supervisorctr是 Supervisor 进程管理工具的命令行客户端,用于控制和管理由 supervisord
守护进程运行的子进程。以下是 supervisorctl
的常用命令和用法:
1. 基本命令
命令 | 说明 |
---|---|
supervisorctl status | 查看所有进程状态 |
supervisorctl start <进程名> | 启动指定进程 |
supervisorctl stop <进程名> | 停止指定进程 |
supervisorctl restart <进程名> | 重启指定进程 |
supervisorctl reload | 重新加载配置并重启所有进程 |
supervisorctl update | 更新配置(仅影响修改过的进程) |
supervisorctl reread | 重新读取配置(不重启进程) |
2. 进程组管理
命令 | 说明 |
---|---|
supervisorctl start all | 启动所有进程 |
supervisorctl stop all | 停止所有进程 |
supervisorctl restart all | 重启所有进程 |
supervisorctl start <组名>:* | 启动指定组的所有进程 |
supervisorctl stop <组名>:* | 停止指定组的所有进程 |
3. 日志管理
命令 | 说明 |
---|---|
supervisorctl tail <进程名> | 查看进程日志(默认最后 10 行) |
supervisorctl tail -f <进程名> | 实时查看日志(类似 tail -f ) |
supervisorctl fg <进程名> | 进入进程的前台模式(调试用) |
4. 高级管理
命令 | 说明 |
---|---|
supervisorctl shutdown | 关闭 supervisord 及其所有子进程 |
supervisorctl avail | 列出所有可管理的程序 |
supervisorctl pid | 查看 supervisord 的 PID |
5. 配置文件示例
Supervisor 的配置文件通常位于 /etc/supervisor/conf.d/
目录下,例如:
[program:myapp]
command=/usr/bin/python3 /path/to/app.py
directory=/path/to/app
user=www-data
autostart=true
autorestart=true
stderr_logfile=/var/log/myapp.err.log
stdout_logfile=/var/log/myapp.out.log
修改配置后,运行:
sudo supervisorctl reread
sudo supervisorctl update
6. 常见问题
-
supervisorctl
报错connection refused
可能是supervisord
未启动,尝试:sudo service supervisor start
-
进程崩溃后自动重启
确保配置中autorestart=true
35。 -
开机自启
在 CentOS/RHEL 上:sudo systemctl enable supervisord