CODE4FUN
使用Supervisor管理进程

Supervisor是用来管理和监控进程的工具. 有时候我们希望我们自己开发的程序也能做到随系统自动启动, 而且启动之后最好还能方便的控制其停止/重启. 并且在出现问题的时候能够自动重启.

一般我们可以在/etc/init.d/下建立启动脚本, 但是启动脚本写起来比较繁琐, 并且不能自动重启. 这时候我们就可以使用Supervisor了.

安装

ubuntu系统下:

sudo apt-get install supervisor

配置

配置文件默认为/etc/supervisord.conf. 如果要添加一个被管理的进程, 在该文件加入配置:

[program:test]
command=python path/to/test.py
autostart=true
autorestar=unexpected
stdout_logfile=path/to/log.log

配置文件更改后, 需要执行

sudo supervisorctl update

来更新配置

更多详细配置可以参考官方文档

使用

Supervisor安装后有两个可执行命令:

supervisorctl命令:

  1. supervisorctl status test 查看test的状态
  2. supervisorctl start test 启动test
  3. supervisorctl stop test 停止test

更多命令请参考: supervisorctl help

web客户端

在配置中有一段[inet_http_server], 配置好后就打开127.0.0.1:9001, 就可以看到一个网页版控制界面了.

配置:

[inet_http_server]
port = 127.0.0.1:9001
username = user
password = 123