标签:
原文:http://maemual.me/index.php/archives/8/
Supervisor是一个进程控制程序。用于监控管理你需要的程序。
当你有一个程序,需要长期在后台运行,并且希望能够在这个程序崩溃之后自动重新启动的时候,你就需要Supervisor了。
sudo apt-get install supervisor
Supervisor的配置文件在/etc/supervisor/supervisor.conf。但是通常我们并不需要修改Supervisor的配置文件。我们需要增加我们需要监管的程序。
在/etc/supervisor/conf.d下创建我们自己的配置。例如前面博文里面提到的shadowsocks,创建/etc/supervisor/conf.d/shadowsocks.conf配置文件,使用最简单的格式如下:
[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autorestart=true
user=nobody
第一行表示程序的名字,第二行command表示运行某程序的命令,第三行表示自动重启,第四行的user表示以什么身份运行该程序。
当然还有很多有用的参数,如autostart表示该程序是否随着supervisor的启动而启动。详情可见官方文档
Supervisor在运行时有两个进程,supervisord和supervisorctl。其中前者是后台的守护进程,也是主进程。后者是用来让管理人员和守护进程交互的程序。
supervisord的启动停止可以使用以下管理:
sudo service supervisor start
sudo service supervisor restart
sudo service supervisor stop
使用这种方式运行,supervisor会默认读取/etc/supervisor下面的配置文件。
supervisorctl status
查看当前所有程序的运行状态。status后面可以加上具体某个程序的名字来看其状态。
supervisorctl start xxx
启动xxx程序。如果xxx是all的话,表明启动所有程序。
supervisorctl restart xxx
以上同理
supervisorctl stop xxx
以上同理
supervisorctl reload
重新加载配置。原来正在运行的程序会全部重启。
supervisorctl update
加载新的配置,原来正在运行的程序不会重启。
supervisorctl tail -f shadowsocks stderr
查看标准错误输出。
标签:
原文地址:http://www.cnblogs.com/ajianbeyourself/p/4493478.html