安装方法(之一)
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
可以启动/停止所有子进程