使用supervisor来进行后台进程管理

平时我们都会使用nohup来让进程在后台运行,但是随之而来的问题就是如果一旦服务宕掉并不会自动重启进程,只能手动使用nohup启动,那么一旦机器多了就显得不这么自动化,智能化了。好在Linux中还有个supervisor来进行后台进程的管理,相当强大那么启动服务的时候直说了使用python server.py。那么该如何使用supervisor来管理呢,请看下面的步骤:

一、安装

Ubuntu16.10下执行如下命令

apt-get install supervisor

二、新建 supervisor 配置文件

vi /etc/supervisor/conf.d/ssserver.conf

[program:ssserver]
command = python /root/shadowsocks-py-mu/shadowsocks/servers.py
user = root
autostart = true
autorestart = true
stderr_logfile = /var/log/shadowsocks.log
stdout_logfile = /var/log/shadowsocks_error.log

三、重载 supervisor

sudo service supervisor start

supervisorctl reload

那么现在就已经运行了shadowsocks的进程。另外介绍下,supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。supervisor还有许多选项,默认的autorestartunexpected(异常退出),具体请参考supervisor文档。

四、停止守护的进程

4.1确认你要停止进程


很明显我要停止守护的进程名为ssserver.

ls /etc/supervisor/conf.d/
vi /etc/supervisor/conf.d/ssserver.conf

4.2停止守护进程

sudo supervisorctl stop ssserver