什么是supervisor?
supervisor
是用python开发的client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。可以很方便的监听、启动、停止、重启一个或者多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。一些粒度更细的定时任务(linux crontab),也可以由supervisor进行管理。
环境要求,python2.7以上
以下分别对mac以及centos环境下使用supervisor
Mac 下使用supervisor
-
环境:Mac 版本10.15.7,直接使用homebrew来安装管理;Python版本 2.7.16
-
安装:
brew install supervisor
,版本为4.2.0 -
启动:
brew services start supervisor
(已设置为开机自启动) -
查看启动状态:
ps -aux|grep supervisord
-
配置文件位置:
/usr/local/etc/supervisord.conf
,进入找到最后一个include[include] files=/etc/supervisor.d/*.ini #去掉前面的注释符,可以定义任意位置,进程文件命名后缀为`.ini`
-
在上一步的files文件目录位置,编写自己的进程,如
test.ini
(也可以通过关键字group来进行分组,一次性启动/停止一组进程)
[program:test]
directory = /directory/to/your/project ; 程序的启动目录
command = your shell cmd ; 启动命令,可以看出与手动在命令行启动的命令是一样的
autostart = true ; 在 supervisord 启动的时候也自动启动
startsecs = 5 ; 启动