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