Linux 进程管理工具 supervisord 安装及使用

Supervisor是用Python实现的一款非常实用的进程管理工具
1、安装过程非常简单
安装python
安装meld3-0.6.8.tar.gz
安装supervisor-3.0a12.tar.gz
 可参照:http://ydt619.blog.51cto.com/316163/1055334
2、配置supervisor
# Web管理界面设定
[inet_http_server]
port=0.0.0.0:9001
username = admin
password = yourpassword
3、修改配置文件 /etc/supervisord.conf
# Web管理界面设定
[inet_http_server]
port=9001
username = admin
password = yourpassword
#添加需要监控的进程
[program:test]
directory=/var
command=/var/test
autostart=true
autorestart=true
startretries=100
user=XXX
 

[program:redis]

command = redis-server   //需要执行的命令

autostart=true    //supervisor启动的时候是否随着同时启动

autorestart=true   //当程序跑出exit的时候,这个program会自动重启

startsecs=3  //程序重启时候停留在runing状态的秒数

4、管理命令

Supervisord安装完成后有两个可用的命令行supervisor和supervisorctl,命令使用解释如下:

  • supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
  • supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon。
  • supervisorctl start programxxx,启动某个进程
  • supervisorctl restart programxxx,重启某个进程
  • supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
  • supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。
设置好之后可以通话web页面管理,非常方便 Linux 进程管理工具 supervisord 安装及使用
 
supervisord开机自启动
2.chkconfig --add supervisord #加为服务
3.运行ntsysv,选中supervisord启动系统时跟着启动。
1.[/etc/rc.d/init.d/supervisord]

#!/bin/sh
#
# /etc/rc.d/init.d/supervisord
#
# Supervisor is a client/server system that
# allows its users to monitor and control a
# number of processes on UNIX-like operating
# systems.
#
# chkconfig: - 64 36
# description: Supervisor Server
# processname: supervisord

# Source init functions
. /etc/rc.d/init.d/functions

#初始化环境变量

source /etc/profile

prog="supervisord"

prefix="/usr/"
exec_prefix="${prefix}"
prog_bin="${exec_prefix}/bin/supervisord"
PIDFILE="/var/run/$prog.pid"

start()
{
echo -n $"Starting $prog: "
daemon $prog_bin --pidfile $PIDFILE
[ -f $PIDFILE ] && success $"$prog startup" || failure $"$prog startup"
echo
}

stop()
{
echo -n $"Shutting down $prog: "
[ -f $PIDFILE ] && killproc $prog || success $"$prog shutdown"
echo
}

case "$1" in

start)
start
;;

stop)
stop
;;

status)
status $prog
;;

restart)
stop
start
;;

*)
echo "Usage: $0 {start|stop|restart|status}"
;;

esac

注意

不带参数运行supervisord是以daemon方式运行。
把supervisord加入到开机启动项里就可以完成监控进程的功能了。
当supervisord以非daemon方式运行时,杀掉supervisord后,被监控的进程也退出了。
而以daemon方式运行,杀掉supervisord对被监控进程无影响。

---安装出错汇总

1、ImportError: No module named setuptools 解决方法

http://www.cnblogs.com/kkgreen/archive/2012/08/02/2620425.html

上一篇:JS的引入方式_变量的使用_变量的类型


下一篇:CSS【03】:CSS 基础选择器与三种引入方式