Supervisor进程管理工具的安装与使用入门

开发环境 xiujie 164℃ 0评论 已收录

Supervisor是一个进程管理工具,官方的说法

用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor

这个工具主要就两个命令:
supervisord : supervisor的服务器端部分,启动supervisor就是运行这个命令
supervisorctl:启动supervisor的命令行窗口。

官方网站:

http://www.supervisord.org/index.html

安装(Centos):

# yum install python-setuptools
# easy_install supervisor
如果easy_install不好使就从官方下载:
然后通过python安装:
# tar zxf supervisor-3.1.3.tar.gz
# cd supervisor
# python setup.py install

成功安装后可以登陆python控制台输入import supervisor 查看是否能成功加载。
生成配置文件(supervisord.conf):

echo_supervisord_conf > /etc/supervisord.conf
修改配置文件:
在supervisord.conf最后增加(分号后边的表示注释,可以不写):

    [program:bandwidth]
    command=python26 /usr/local/bin/bandwidth.sh  ;需要执行的命令wd)
    user =root  ;(default  is  current  user , required  if  root)
    autostart=true  ;start at supervisord start (default: true)
    autorestart=true  ;whether/when to restart (default: unexpected)
    startsecs=3  ;number of secs prog must stay running ( def . 1)
    stderr_logfile=/tmp/bandwidth_err.log  ;redirect proc stderr to stdout (default false) 错误输出重定向
    stdout_logfile=/tmp/bandwidth.log  ;stdout log path, NONE  for  none; default AUTO, log输出

(更多配置说明请参考:http://supervisord.org/configuration.html)

运行命令:

supervisord -c /etc/supervisord.conf  //启动supervisor
supervisorctl //打开命令行
supervisorctl status   
bandwidth                        RUNNING   pid  2423 , uptime  0 : 06 : 35
supervisorctl help   
default  commands (type help ):   
=====================================   
add    clear  fg        open  quit    remove  restart   start   stop  update    
avail  exit   maintail  pid   reload  reread  shutdown  status  tail  version  

另外有一个坑需要注意:如果修改了 /etc/supervisord.conf ,需要执行 supervisorctl reload 来重新加载配置文件,否则不会生效。

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址