linux 进程监控软件 supervisor
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.csdn.net/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
| 命令 | 是否必须 | 默认值 | 解释 |
| command | y | 要执行、监控的命令 | |
| process_name | n | %(program_name)s | 启动后进程名, 常结合numprocs指令值使用 |
| numprocs | n | 1 | 启动进程数 |
| numprocs_start | n | 0 | 整数偏移量,从numprocs中的第几个开始启动 |
| priority | n | 999 | 当执行start all/stop all时启动/停止的顺序, 值越小越先启动越后停止 |
| autostart | n | true | supervisord启动的时候自动启动 |
| startsecs | n | 1 | 启动后延迟多少秒后执行命令 |
| startretries | n | 3 | 失败后重试次数 |
| autorestart | n | unexpected | 重新拉起 false、unexpected(发现程序退出,根据exit_code选择性是否重启)、true(发现程序退出,则无条件重启) |
| exitcodes | n | 0,2 | 配合autorestart=unexpected时使用 |
举例:
[program:activityCandleSendCouponQueue]
directory=/mnt/hostcode/openapi/basic_service
command=php7 artisan queue:work redis --queue=activityCandleSendCoupon
autorestart=true
stdout_logfile=/usr/local/supervisor/activityCandleSendCouponQueue.log
ps -ef | grep queue
www Aug23 pts/ :: php7 artisan queue:work redis --queue=activityCandleSendCoupon
linux 进程监控软件 supervisor的更多相关文章
- linux 进程监控
linux 进程监控 supervise Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程 ...
- Linux进程管理工具Supervisor的安装配置
目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...
- linux 进程监控和自动重启的简单实现
目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重 ...
- linux 进程监控和自动重启的简单实现(转)
目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重 ...
- Linux进程管理工具——supervisor
介绍 Supervisord是用Python实现的一款非常实用的进程管理工具 安装 这里用源码 supervisor-.tar.gz .tar.gz cd supervisor- sudo pytho ...
- Linux进程管理工具Supervisor
简述 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启. 它是通过fork/exec的方式把这些被管 ...
- linux进程监控,monitor脚本
由于服务器上一些进程莫名的挂掉,需要些一个monitor的bash脚本来监控这些进程: #! /bin/bash #chkconfig info ### BEGIN INIT INFO # Provi ...
- Linux进程监控命令
最近使用centos在建站,没有用市面上的什么服务商的服务器,自己用树莓派3B+建了这个博客.但是发现经常宕机,所以想看看服务器在干什么,百度了很久,发现vmstat命令不错,拿出来推荐推荐. 这是我 ...
- linux进程监控和简单的重启&服务的创建 参考自http://blog.csdn.net/lockheed_hong/article/details/73549837
脚本文件 该脚本实现了一个检测进程是否存在,不存在的情况下重启进程并且记录日志. #! /bin/sh proc_name="console/queue/gift.php" # 进 ...
随机推荐
- 谈一谈Elasticsearch的集群部署
Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性.本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓 ...
- PHP7 学习笔记(十六)Yaconf 一个高性能的配置管理扩展
鸟哥博客原文:Yaconf – 一个高性能的配置管理扩展 什么是yaconf ? 它使用单独的一个配置目录(在yaconf.directory指定), 不和代码在一起.它在PHP启动的时候, 处理所有 ...
- 前端面试题整理—ES6篇
1.es5和es6的区别,说一下你所知道的es6 ECMAScript5,即ES5,是ECMAScript的第五次修订,于2009年完成标准化 ECMAScript6,即ES6,是ECMAScript ...
- 【转载】RPG颜色参考表
https://blog.csdn.net/a949308398/article/details/17013087
- springboot09-redis
redis安装: 从redis官网下载redis包,解压后: cmd执行命令启动本地redis: D: cd D:\Program Files\redis2.4.5\64bit redis-serve ...
- mysql信息函数
mysql> SELECT CONNECTION_ID(); #当前连接的ID+-----------------+| CONNECTION_ID() |+-----------------+ ...
- DNN网络(二)反向传播算法
本文摘自: https://www.cnblogs.com/pinard/p/6422831.html http://www.cnblogs.com/charlotte77/p/5629865.htm ...
- Oracle DbHelper
wind8 系统选择项目时生成目标平台选择为X86 报错 “System.Exception”类型的未经处理的异常在 WindowsFormsApplication1.exe 中发生 其他信息: 尝试 ...
- js伪数组转数组
方法1: 遍历伪数组,在把值push进一个空数组中 方法2: 使用数组的slice方法,它返回的是数组,使用call或apply指向伪数组 var arr = [].slice.call(argume ...
- 第28月第5天 uibutton交换方法
1. //交换系统的方法 @implementation UIControl (MYButton) + (void)load { Method a = class_getInstanceMethod( ...