python使用supervisor进行进程管理

        Supervisor 是一个用python实现的进程管理工具,可以很方便地启动、重启、关闭、查看进程(不仅仅是python进程)。除却对单个进程的控制,它还能监控进程:当进程由于某些原因被误kill掉了之后,自动重启并发送时间通知。

一、安装

pip install supervisor

二、Supervisor组件

supervisor有以下四种组件:

1、Supervisord:服务端程序,主要功能为启动服务及其管理子进程,记录日志,重启崩溃的进程。

2、Supervisorctl:命令行客户端程序,它提供一个类似shell的借口,通过UNIX与套接字或者TCP/IP套接字使用XML_RPC与Supervisor的进程进行数据通信,它的功能为管理子进程。

3、Web Server:实现了在界面上管理进程。

4、XML_RPC接口:通过该协议对Web Server 进行远程调用。


三、配置

将配置文件放在以下路径:echo_supervisord_conf > /etc/supervisord.conf

接着,开始配置文件:

vim/etc/supervisord.conf

需要注意的是Supervisor的注释需要使用分号,这里以运行一个py文件为例,需要在conf文件最下方修改并添加

python使用supervisor进行进程管理_第1张图片

其中,[program:myprogram]表示一个叫做myprogram的进程,也就是说,每个program就是一个或者说一组进程。program块会指定要管理的进程,但是需要注意的是被管理的进程不能使用daemon模式,必须在前台运行。

最后,我们可以在super_test.log中查看输出的日志。

四、启动

启动进程:Supervisord -c /etc/supervisord.conf(这个路径就是之前echo的那个路径,即配置文件路径)

接着,进程会以daemon的方式后台运行。我们可以使用supervisorctl连接它:

>supervisorctl -c /etc/supervisord.conf

此时,我们会看到目前启动进程的一些情况

python使用supervisor进行进程管理_第2张图片

同时,可以通过反馈的结果来组织内容发送邮件。因为在conf配置文件里面有一个[inet_http_server]模块中配置了用户和密码,可以通过访问http://localhost:5000 来的看到HTTP管理页面(需要用户访问验证)。


你可能感兴趣的:(Python)