Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启。
supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
一、安装配置
1、MAC OS下
#pip install supervisor
2、centos 或 linux 下
#easy_install supervisor
3、源码安装
#wget https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3.3.1.tar.gz
#tar zxf supervisor-3.1.3.tar.gz
#cd supervisor-3.3.1
#python setup.py install
安装成功后:
#echo_supervisord_conf
能print出一个样本的配置文件。
#echo_supervisord_conf > /etc/supervisord.conf
创建一份配置文件到我们想要的目录。(这里把supervisord.conf放在了etc目录下)
然后标记好我们的配置文件位置。
#supervisord -c /etc/supervisord.conf
到这一步,你已经完成了supervisor的基本安装配置,我们可以根据我们的需求对supervisord.conf进行修改~
二、现在开始创建个program吧~
下面监控一个laravel的队列服务
#vim /etc/supervisord.conf
[include]
files = /etc/supervisord.conf.d/*.conf
#cd /etc
#mkdir supervisord.conf.d
然后我们可以在supervisord.conf.d目录下建立自己想要的.conf文件。并把自己想要监控的program在文件里添加。
#supervisorctl update
update一下就好了~