使用supervisor监管Linux进程

supervisor 是由python语言编写、基于linux操作系统的一款服务器管理工具,用以监控服务进程的运行,发现问题能立即自动预警及自动重启等功能。

安装

1
pip install supervisor

配置

supervisord.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[inet_http_server]
port=0.0.0.0:9001

[supervisorctl]

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisord]
logfile=/tmp/supervisord.log ; (main log file)
pidfile=/tmp/supervisord.pid ; (pid file)

[program:gov-data-collect]
directory=gov-data-collect
command=python main.py
redirect_stderr=true
stdout_logfile=gov-data-collect/log/main.log

若修改了配置文件,则需要重启supervisor

启动

1
supervisord -c supervisord.conf

web监管页面

http://[server_ip]:9001

在此页面可以重启,停止supervisor监管的进程,并查看其log的tail -f输出。

关闭

1
2
supervisorctl stop all  # 停止所有监管程序
supervisorctl shutdown # 关闭监管系统