使用supervisor监控进程

在linux下监控进程,可以使用inittab,最近找到了supervisor,也很好用,记录一下:
1、系统要安装python,并安装与之对应的setuptools,下载地址在此
2、安装:
# sh setuptoolsxxxx.egg
3、安装supervisor,下载地址在此,解压缩后
# python setup.py install
这就ok了,然后执行
# echo_supervisord_conf > /etc/supervisord.conf
修改/etc/supervisord.conf文件,加入你要监控的进程,里面的注释很详细,举个简单的例子:
这是一段要监控的进程的描述信息,添加到这个文件的末尾就好了:
[program:meta.txn.recover.on.error]
command=/cas/bin/meta.txn.recover.on.error ; 被监控的进程路径
numprocs=1                    ; 启动几个进程
directory=/cas/bin                ; 执行前要不要先cd到目录去,一般不用
autostart=true                ; 随着supervisord的启动而启动
autorestart=true              ; 自动重启。。当然要选上了
startretries=10               ; 启动失败时的最多重试次数
exitcodes=0                 ; 正常退出代码(是说退出代码是这个时就不再重启了吗?待确定)
stopsignal=KILL               ; 用来杀死进程的信号
stopwaitsecs=10               ; 发送SIGKILL前的等待时间
redirect_stderr=true          ; 重定向stderr到stdout
为了节省空间,注释的内容就不贴出来了。
执行
# supervisord -n
能在控制台看到监控进程的输出:
2010-08-17 10:26:07,467 INFO supervisord started with pid 943
2010-08-17 10:26:08,469 INFO spawned: ‘meta.txn.recover.on.error‘ with pid 1009
2010-08-17
10:26:09,876 INFO success: meta.txn.recover.on.error entered RUNNING
state, process has stayed up for > than 1 seconds (startsecs)
2010-08-17 10:26:48,442 INFO exited: meta.txn.recover.on.error (terminated by SIGKILL; not expected)
2010-08-17 10:26:49,444 INFO spawned: ‘meta.txn.recover.on.error‘ with pid 2427
2010-08-17
10:26:50,487 INFO success: meta.txn.recover.on.error entered RUNNING
state, process has stayed up for > than 1 seconds (startsecs)
黑体的地方是我用kill -9杀掉进程后出来的,看到supervisor检测到进程退出后又再次启动了进程。
不带参数运行supervisord是以daemon方式运行。
把supervisord加入到开机启动项里就可以完成监控进程的功能了。

【注意】:当supervisord以非daemon方式运行时,杀掉supervisord后,被监控的进程也退出了。
而以daemon方式运行,杀掉supervisord对被监控进程无影响。

时间: 2024-11-05 12:30:19

使用supervisor监控进程的相关文章

[Erlang_Question13]怎么把一个普通的进程挂入Supervisor监控树?

简单来说:应该是在调用的start_link返回一个{ok,Pid}就可以把这个进程放入监控树Supervisor里面: -module(worker). -author("[email protected]"). -export([start_link/0,stop_worker/0]). start_link() –> {ok,spawn(fun() -> loop() end)}. loop() –> case whereis(?MODULE) of undef

使用supervisor监控mha masterha_manager进程

我们在用mha自带的masterha_manager脚本做mysql主库故障自动切换时,需要考虑如何让masterha_manager监控进程一直处于正常运行的状态.而supervisor可以很好地解决这个问题,它可以将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启. 这里列一下部署要点和管理命令 一,supervisor 安装: sudo pip install supervisor 二,supervisor配置: mkdir -p /etc/superviso

docker supervisor管理进程

一.使用supervisor来管理 supervisor:进程管理工具,基于C/S架构.(其提供web接口给用户查询和 控制),它允许用户去监控和控制在类unix系统的进程. 使用supervisor可以更好的控制.管理.重启我们希望运行的进程. 在这演示一下如何同时使用ssh和 apache 服务.(通过docker buid生成新镜像) 配置 1.首先创建一个dockerfile目录 dockerfile文件内容 supervisor配置文件内容 第一段supervsord配置软件本身,使用

erlang监控进程在启动进程退出后异常退出原因分析

一.问题引出 erlang监控进程在启动时设置了trap_exit为true,即会捕获到退出信号,会将退出信号转换为{'EXIT',Pid,Reason}存入自己的邮箱中,因此与监控进程link关系的进程退出后,监控进程能够很坦然的截获退出信号,自身不退出.启动erlang监控进程的进程,会和监控进程建立link关系,然而当启动进程退出时,监控进程没有象正常的情况,发生了异常退出,为什么设置了trap_exit为true,还会退出呢? 二.原因分析 查看supervisor的源码,supervi

NetHogs 实时监控进程/程序网络使用情况

NetHogs是一个小的开源的流量监控工具.说起流量监控工具其实非常多,如:iftop.vnstat,这些都是统计和监控网卡的流量.而NetHogs的特点在于可以实时的监控每个进程的带宽占用情况,当我们的服务器的带宽大量占用或者其它的一些网络异常,我们可以通过NetHogs来查看是哪个进程或程序异常导致带宽被占用,从而解决带宽问题. 一.NetHogs安装: 1.推荐使用安装方式: Ubuntu/Debian下安装: #apt-get install nethogs ReadHat/CentOS

Process Monitor监控进程操作注册表如何实现?

http://zhidao.baidu.com/link?url=Kqav4qkQSprC5FnpHPOGJvhqvY9fJ9-Vdx9g_SWh4w5VOusdRJo4Vl7qIdrG4LwRJvraB9s9UipTVOgp7NJvLGIXiaXwWjQz5LP0TX_ixyC Process Monitor监控进程操作注册表如何实现?  2014-09-14 14:485203751 | 浏览 1092 次 操作系统 Process Monitor这个工具是微软的一个监控进程注册表操作,文件

SNMP远程监控进程信息的OID

最近有个项目需要用snmp远程监控进程信息.于是我查了一下资料. 一.资料 .1.3.6.1.2.1.25.4.2.1.1.iso.org.dod.internet.mgmt.mib-2.host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunIndexA unique value for each piece of software running on the host. Wherever possible, this should be the syst

【转载】用shell脚本监控进程是否存在 不存在则启动的实例

用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/shps -fe|grep processString |grep -v grepif [ $? -ne 0 ]thenecho "start process....."elseecho "runing....."fi#####processString 表示进程特征字符串,能够查询到唯一进程的特征字符串0表示存在的$? -ne 0 不存在,$? -eq 0 存在 ---------

Linux监控进程所用流量和总流量---iftop工具

一.先按照依赖包 yum -y install flex byacc libncurses 二.按照依赖包libpcap tar zxvf libpcap-1.1.1.tar.gz cd libpcap-1.1.1 ./configure make && make install 三.安装iftop tar zxvf iftop-0.17.tar.gz cd iftop-0.17 ./configure make make install 四.安装可能出现的问题 centos可能碰到的问题