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=true35。

  • 开机自启
    在 CentOS/RHEL 上:

    sudo systemctl enable supervisord

 

你可能感兴趣的:(其他,linux,运维,服务器)