supervisor

守护进程管理工具Supervisor

轻松管理守护进程,就算挂了也可以被拉起来。

例子,/etc/supervisor/conf.d/ss.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[program:ss-server]
command=ss-server -c /etc/shadowsocks-libev/config.json
directory=/home
environment=环境变量A="";环境变量B=""
stdout_logfile_maxbytes=20MB
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile_maxbytes=20MB
stderr_logfile=/var/log/supervisor/%(program_name)s.log
autostart=true
autorestart=true
startsecs=5
priority=1
stopsignal=HUP
stopasgroup=true
killasgroup=true

注意这里的command,不是命令行,要执行bash命令可以bash -c "xxxx"

环境变量的问题,类似这样解决,详细可以参考man supervisor

1
environment=PYTHONPATH=/opt/mypypath:%(ENV_PYTHONPATH)s,PATH=/opt/mypath:%(ENV_PATH)s

交互式操作界面

superviosrctl命令进入交互式界面,常用命令:reloadstatus