首页 > 代码库 > Linux进程管理工具 Supervisord 的安装 及 入门教程

Linux进程管理工具 Supervisord 的安装 及 入门教程

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

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

主要就两个命令:

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

安装(CentOS):

方式一:

yum -y install python-setuptoolseasy_install supervisor

方式二:

如果 easy_install 不好使就从官方下载:

wget https://pypi.python.org/packages/source/s/supervisor/supervisor-3.1.3.tar.gz

然后通过 python 安装:

tar zxf supervisor-3.1.3.tar.gzcd supervisorpython 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)

运行命令:

启动 supervisor

supervisord -c /etc/supervisord.conf

打开命令行

[root@52php bin]# supervisorctl status   bandwidth                        RUNNING   pid 2423, uptime 0:06:35  [root@iZ2365j7l5bZ bin]# supervisorctl help     default commands (type help <topic>):   =====================================   add    clear  fg        open  quit    remove  restart   start   stop  update    avail  exit   maintail  pid   reload  reread  shutdown  status  tail  version  

ctl中: help // 查看命令

ctl中: status // 查看状态

特别注意:

如果修改了 /etc/supervisord.conf,需要执行 supervisorctl reload 来重新加载配置文件,否则不会生效。。。

Linux进程管理工具 Supervisord 的安装 及 入门教程