侧边栏壁纸
博主头像
Setyg的博客

当秋风染红落叶的时候,就是新生~

  • 累计撰写 86 篇文章
  • 累计创建 66 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Supervisor常用命令完整指南

Setyg
2026-09-19 / 0 评论 / 0 点赞 / 6 阅读 / 0 字

Supervisor 是 Linux/Unix 下常用的进程管理工具,用来把普通的命令行程序托管成后台守护进程,并在进程意外退出时自动拉起。日常运维中打交道最多的就是它的客户端命令 supervisorctl。本文把常用命令整理成一份速查,并说明 reload 与 update 这两个最容易混淆的命令。

一、基础命令

查看版本号,用于确认安装是否成功以及当前版本:

sudo supervisorctl version

查看所有被托管进程的运行状态,输出形如 进程名 RUNNING pid 1234, uptime 0:10:32:

sudo supervisorctl status

二、进程管理

单个进程

把 [进程名] 换成 supervisorctl status 里显示的进程名即可:

# 启动进程
sudo supervisorctl start [进程名]

# 停止进程
sudo supervisorctl stop [进程名]

# 重启进程
sudo supervisorctl restart [进程名]

全部进程

把进程名换成关键字 all,即可对配置文件中所有进程批量操作:

# 启动所有进程
sudo supervisorctl start all

# 重启所有进程
sudo supervisorctl restart all

# 停止所有进程
sudo supervisorctl stop all

三、配置管理

这两个命令都用于让修改后的配置文件生效,但行为完全不同,是实际使用中最容易用错的地方。

reload:重新载入配置文件

sudo supervisorctl reload

它会重新读取全部配置文件,并重启 supervisor 自身。因为 supervisor 是被重启的,所有子进程都会跟着被重启一遍,未改动的进程也会受影响。修改配置文件后必须执行 reload(或下面的 update),否则改动不生效。

update:按需更新进程

sudo supervisorctl update

它同样会读取最新配置,但只做增量处理:

  • 新增的进程会被启动;
  • 配置有改动的进程会被重启;
  • 配置没有改动的进程不受影响,不会被重启。

因此日常改动配置后,优先用 update,可以把影响范围控制到最小;只有配置结构变动较大或 update 未按预期生效时,才用 reload 全量重载。

四、速查表

命令作用影响范围
supervisorctl version查看版本无
supervisorctl status查看所有进程状态无
supervisorctl start [进程名]启动指定进程单个进程
supervisorctl stop [进程名]停止指定进程单个进程
supervisorctl restart [进程名]重启指定进程单个进程
supervisorctl start all启动所有进程全部进程
supervisorctl stop all停止所有进程全部进程
supervisorctl restart all重启所有进程全部进程
supervisorctl reload重新载入配置文件(重启 supervisor 自身)全部进程
supervisorctl update按最新配置增量更新(只重启有改动的进程)有改动的进程

五、注意事项

  • 命令通常需要 sudo 权限,普通用户执行会提示权限不足;如果提前把用户加入了 supervisor 的配置,则可以省略。
  • 进程名以 supervisorctl status 的输出为准,配置里的 [program:xxx] 中的 xxx 就是进程名。
  • 修改配置文件后必须执行 reload 或 update,否则改动不会生效。
  • 只想让改动生效又不想打断其余服务时,用 update 而不是 reload。

小结

日常高频使用的其实只有四条:status 看状态、restart [进程名] 重启单个服务、update 让配置改动生效、reload 全量重载。记住 reload 与 update 的区别——前者重启 supervisor 自身并波及所有进程,后者只处理有改动的进程,就能避免误伤线上服务。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区