【Linux】使用 Supervisor管理后台进程

1.安装
  1. python开发
  2. easy_install supervisor 
  3. supervisor安装完成后会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf,分别是supervisor的守护进程服务(用于接收进程管理命令)、客户端(用于和守护进程通信,发送管理进程的指令)、生成初始配置文件程序。
  4. centos下千万别用yum安装,md问题一大堆!

2 产生模板配置文件
  1. [root@bj151 ~]# echo_supervisord_conf > /etc/supervisord.conf

3.修改配置文件
  1. 配置文件最后添加需要执行的进程
  2. [program:app]
    command=/bin/sh /home/chenliang/test.sh
    user=root
    stopsignal=QUIT
    autostart=true
    autorestart=true


4 .启动supervisord服务

点击(此处)折叠或打开

  1. /usr/bin/supervisord -c /etc/supervisord.conf

5. 启动supervisorctl 控制管理台
  1. supervisorctl -c /etc/supervisord.conf
  2. [root@bj151 ~]# supervisorctl status
    app                              RUNNING   pid 25442, uptime 0:03:32


6.后台可以查看test.sh一直在跑 就算kill掉后,test.sh也会重新起来

常用命令

# 查看所有action
supervisorctl help # 

控制所有进程
supervisorctl start all
supervisorctl stop all
supervisorctl restart all  # 控制目标进程
supervisorctl stop shadowsocks
supervisorctl start shadowsocks
supervisorctl restart shadowsocks 
常见错误

出现:

Traceback (most recent call last): File "/usr/bin/echo_supervisord_conf", line 5, in <module> from pkg_resources import load_entry_point File "/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py", line 2603, in <module> File "/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py", line 666, in require File "/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py", line 565, in resolve pkg_resources.DistributionNotFound: meld3>=0.6.5

解决方法:pip安装的meld3不可用,手动安装。

wget https://pypi.python.org/packages/source/m/meld3/meld3-1.0.2.tar.gz tar -zxf meld3-1.0.2.tar.gz cd meld3-1.0.2 python setup.py install
参考: http://www.cnblogs.com/lianer/p/5560922.html http://www.ttlsa.com/linux/using-supervisor-control-program/

请使用浏览器的分享功能分享到微信等