linux 进程监控软件 supervisor

本文介绍如何使用 Supervisor 软件监控 Python 进程的状态,并在进程未运行时自动重启。文中提供了详细的配置说明及示例,帮助读者快速上手。

2017年8月21日 17:51:33 星期一

supervisor python写的, 用来监控进程是否启动,

之前监控进程是否启动, 没有就拉起的shell代码是写在crontab里的, 这个软件提供了配置管理功能

参考文章:

配置1:  http://www.cnblogs.com/lianer/p/5560922.html

配置2: http://www.cnblogs.com/shijingjing07/p/6024066.html

//=======安装======//

下载python安装器: https://pypi.python.org/pypi/setuptools

python 2.6/2.7 安装"安装器": http://blog.youkuaiyun.com/ab198604/article/details/8681851  (注, centos 6.x yum默认是python 2.6, 安装命令 python setup.py install, 升级pytho 2.7后yum会不可用)

官方安装指导: http://www.supervisord.org/installing.html

官方配置文件解释: http://www.supervisord.org/configuration.html

//=======配置翻译=======//

[program:x]

冒号紧跟在program后边

x是应用的名字, 也被supervisor的相关控制命令来使用;x值不能为空, 也不能含有冒号和括号;x的值还用于%(program_name)s表达式

如果x=foo且指令numprocs=3, process_name=%(program_name)s_%(process_num)02d 那么就会启动3个进程, 名字分别为foo_01,foo_02,foo_03;

如果不指定这几个值,那么就启动一个进程, 名字为x

命令是否必须默认值解释
commandy 要执行、监控的命令
process_namen%(program_name)s启动后进程名, 常结合numprocs指令值使用
numprocsn1启动进程数
numprocs_startn0整数偏移量,从numprocs中的第几个开始启动
priorityn999当执行start all/stop all时启动/停止的顺序, 值越小越先启动越后停止
autostartntruesupervisord启动的时候自动启动
startsecsn1启动后延迟多少秒后执行命令
startretriesn3失败后重试次数
autorestartnunexpected重新拉起 false、unexpected(发现程序退出,根据exit_code选择性是否重启)、true(发现程序退出,则无条件重启)
exitcodesn0,2配合autorestart=unexpected时使用

 

举例:

1 [program:activityCandleSendCouponQueue]
2 directory=/mnt/hostcode/openapi/basic_service
3 command=php7 artisan queue:work redis --queue=activityCandleSendCoupon
4 autorestart=true
5 stdout_logfile=/usr/local/supervisor/activityCandleSendCouponQueue.log
1 ps -ef | grep queue
2 www       3578  3575  0 Aug23 pts/1    00:00:15 php7 artisan queue:work redis --queue=activityCandleSendCoupon

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值