/ Linux

supervisor简要使用说明

安装方法(之一)

pip install supervisor

主要组件

supervisord: 用于控制启用和退出子进程,记录子进程的标准输出和标准错误输出。

supervisorctl: shell命令工具,提供对子进程状态的访问,启用和退出子进程。

WEB服务器: 在本地9001端口开启一个WEB管理服务器(需要激活配置文件的inet_http_server部分)。

配置文件

/etc/supervisord.conf,如果没有root权限,可以放在当前用户的主目录 ~/supervisord.conf,之后运行的时候,指定-c参数: supervisord -c ~/supervisord.conf

二进制文件位置

默认在/usr/local/bin,可以在编译安装的时候在configure中指定 prefix 来指定安装位置,例如.configure --prefix=/usr/local/py; make; make install;,二进制可运行文件就会放在/usr/local/py/bin目录下。

运行supervisord

编辑配置文件,添加程序,例如在supervisord.conf中编写:

[program:foo]
command=/bin/cat

就会在开启时运行cat命令。这是最简单的子程序运行,还有更多复杂的使用方法,可以看supervisor的使用配置方法supervisor configuration

如果二进制文件在PATH中,可以直接运行supervisord。否则就指定二进制文件路径运行。默认日志会在当前目录下:$CWD/supervisor.log。($CWD表示 current working directory)

supervisord命令行常用参数

-c FILE, --configuration=FILE: 指定配置文件
-l FILE, --logfile=FILE: 指定supervior活动日志文件

更多参数可见:commond line options

利用supervisorctl控制进程

supervisorctl start
supervisorctl stop
supervisorctl status
supervisorctl restart
supervisorctl pid #返回supervisor的pid

例如:
supervisorctl start all
supervisorctl stop all
可以启动/停止所有子进程