1. supervisor 介绍
Supervisor是一个客户端/服务器系统,允许用户在类UNIX操作系统上控制大量进程。
Supervisor组件:
Supervisord: 服务器部分为Supervisord,负责启动子程序,相应客户端的命令,记录stdout,stderr。
配置文件位于/etc/supervisord.conf中,ini风格的配置文件。
Supervisorctl: 客户端部分为Supervisorctl,它为Supervisord服务提供一个类似shell的界面,从Supervisorctl,用户可以连接到不同的Supervisord进程,获得控制子进程状态,对子进程进行命令控制。
Web Server: 一个功能与Supervisorctl相媲美的用户界面,可以通过浏览器进行访问。激活配置文件的[inet_http_server]部分后,可以通过访问web界面查看和控制进程状态。
平台要求:大多数Unix系统上,python2.4以上版本。(注:任何windows,pyhton3环境都不能使用)
2.安装supervisor并使用
我是通过使用pip进行安装的,直接执行 pip install supervisor进行安装。也可以下载supervisor包进行安装,解压后调用 python setup.py install 进行安装也是可以的,安装简单。
Supervisord安装完成后,运行echo_supervisord_conf,这将会在你的终端打印一个supervisor配置文件的样本。
需要把配置文件追加到一个文件,然后利用supervisord命令的-c 选项来指定改文件问配置文件,进行supervisord服务器的启动(可根据需要对配置文件进行修改)。
启动服务: 使用supervisord 可以直接以守护进程的方式启动进程。
一般常用的参数(其他参数可以使用-h,--help进行查看):
-c FILE, --configuration=FILE: 指定supervisord的配置文件。
-n, --nodaemon: 在前台启动supervisord。
-u USER, --user=USER: 设置启动supervisord的用户。
-d PATH, --directory=PATH: 设置supervisord的工作目录。
-l FILE, --logfile=FILE: 设置supervisord的日志文件路径。
-y BYTES, --logfile_maxbytes=BYTES: 日志文件最大大小,到达大小后会进行日志分割。
-y NUM, --logfile_backups=NUM: 保留的supervisord日志的副本数。
-j FILE, --pidfile=FILE: pid文件的路径。
启动supervisord示例:
supervisord -c supervisord.conf
supervisord -n
使用supervisorctl:
第一种: 执行supervisorctl命令,将显示一个shell,使用该控制台控制当前由supervisord管理的进程,输入help 获取相关支持的命令。
第二种: 执行“一次性”命令,例如: supervisorctl stop all / supervisorctl status all (会返回执行状态)
原文地址:https://www.cnblogs.com/40kuai/p/9134998.html