Supervisor 是一个开源的进程管理工具,用于管理和监控 类 Unix 操作系统上的进程。(Windows系统不提供)
- 它能让用户以一种更加友好和统一的方式启动、停止和重启进程,避免了手动管理这些任务。
- Supervisor 常用于守护进程,尤其是在需要长期运行的应用程序(如 Web 服务器、任务队列等)中,确保它们在崩溃后自动重启。
- 提供图形化界面
可以代替 systemctl
命令去自动化管理相关进程。
supervisor进程管理服务组成
- supervisord
- supervisorctl
- web server
- xml-rpc interface
使用
通过配置 supervisord.conf 文件,可以轻松实现对命令的自动启动与管理。例如,以下配置注册了一个名为 sunshine 的程序:
[program:sunshine]
command=sunshine ; 将其替换为实际的 sunshine 启动命令
autostart=true ; 启动时自动运行
autorestart=true ; 如果进程崩溃,自动重启
这个配置在 supervisord 中注册了 sunshine 程序,确保 sunshine 进程在意外崩溃时能自动重启。可以通过以下命令启动该配置:
supervisord -c /opt/homebrew/etc/supervisord.conf (conf文件路径)
同时,supervisorctl 允许你对 supervisord 管理的进程进行管理,例如启动、停止、重启以及查看进程状态等操作。