supervisor简要使用说明

时间:2021-01-04 04:03:16

安装方法(之一)

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

可以启动/停止所有子进程