supervisor使用
简介
supervisor 是用 Python 开发的一个 C/S 服务。是 Linux/Unix 系统下的进程管理工具。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。
supervisor 只能用在Unix系统中,Windows用不了
服务端进程为supervisord,主要负责启动自身及其监控的子进程,响应客户端命令,重启异常退出的子进程,记录子进程stdout和stderr输出,生成和处理子进程生命周期中的事件。可以在配置文件中配置相关参数,包括supervisor自身的状态,其管理的各个子进程的相关属性等。
supervisor的客户端为supervisorctl,它提供了一个类shell的接口(即命令行)来操作supervisor服务端。通过supervisorctl,可以连接到supervisord服务进程,获得服务进程监控的子进程状态,启动和停止子进程,获得正在运行的进程列表。
安装
yum install supervisor
apt install supervisor
pip install supervisor
配置文件
参考
https://blog.csdn.net/wc1695040842/article/details/103988813
https://blog.csdn.net/BLUE5945/article/details/80119248
https://blog.csdn.net/weixin_43810267/article/details/122826513
启动
若用的yum安装的supervisor,所以supervisord已经为系统服务
systemctl enable supervisord
systemctl start supervisord
若pip安装
supervisord -c /xxx/supervisord.conf
supervisord -c /etc/supervisor/supervisord.conf 后台启动
supervisord -n -c /etc/supervisor/supervisord.conf 前台启动
supervisorctl
supervisorctl stop program_name 停止某个进程
supervisorctl start program_name 启动某个进程
supervisorctl restart program_name 重启某个进程
supervisorctl stop all 停止全部进程
supervisorctl reload 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
supervisorctl update 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启