平时我们都会使用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还有许多选项,默认的autorestart
为unexpected
(异常退出),具体请参考supervisor文档。
四、停止守护的进程
4.1确认你要停止进程
很明显我要停止守护的进程名为ssserver.
ls /etc/supervisor/conf.d/
vi /etc/supervisor/conf.d/ssserver.conf
4.2停止守护进程
sudo supervisorctl stop ssserver