Supervisor的使用

Supervisor的使用

github Supervisor的使用

介绍

Supervisor是一个C/S进程管理系统,它允许用户对类UNIX系统上的进程进行监控(也就是Superviosr不支持windows)。

各个组件

  • supervisord主进程

负责管理进程的server,它会根据配置文件创建指定数量的应用程序的子进程,管理子进程的整个生命周期,对crash的进程重启,对进程变化发送事件通知等。同时内置web server和XML-RPC Interface,轻松实现进程管理。该服务的配置文件在/etc/supervisor/supervisord.conf。

  • supervisorctl 客户端的命令行工具

提供一个类似shell的操作接口,通过它你可以连接到不同的supervisord进程上来管理它们各自的子程序,命令通过UNIX socket或者TCP来和服务通讯。用户通过命令行发送消息给supervisord,可以查看进程状态,加载配置文件,启停进程,查看进程标准输出和错误输出,远程操作等。服务端也可以要求客户端提供身份验证之后才能进行操作。

  • Web Server

supervisor提供了web server功能,可通过web控制进程(需要设置[inethttpserver]配置项)。

安装

pip install supervisor

官方install文档

配置及使用

通过命令可以获得官方的模板配置文件

echo_supervisord_conf > supervisor_sample.conf

文件中都有详细的注释,然后我根据这个做了一个简单的demo测试,github源码

  • 启动supervisor
supervisord -c supervisor_demo.conf

然后访问http://127.0.0.1:9001/ (以配置文件中的为准),可以看到如下所示:

然后可以看到程序已经执行,这里可以看到日志信息:

  • 重新加载配置启动

如果srver配置了用户密码,注意要执行命令时要写上,否则会执行失败

supervisorctl -u user -p 123 reload  

参考文档:

原文地址:https://www.cnblogs.com/liangping/p/12042174.html