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" # 进 ...
随机推荐
- HDU 1017(** **)
题意是给定 n,m,问有多少组(a,b)满足 0 < a < b < n 而且 (a ^ 2 + b ^ 2 + m) / ( a * b ) 是整数. 直接模拟即可. 代码如下: ...
- python读取wav文件并播放[pyaudio/wave]
#!/usr/bin/python # encoding:utf-8 import pyaudio import wave CHUNK = 1024 # 从目录中读取语音 wf = wave.open ...
- GIL 全局解释器
全局解释器锁 GIL 相当于给python解释器加了一把互斥锁 每一个进程都有一把互斥锁,所有线程必须先拿到解释器,才能执行代码, 同一进程下,所有线程并发 在 Cpython 解释器下,多个进程可以 ...
- 细说REST API安全之认证授权
认证授权包含2个方面:(1)访问某个资源时必须携带用户身份信息,如:用户登录时返回用户access_token,访问资源时携带该参数.(2)检查用户是否具备访问当前资源(url或数据)的权限:访问资源 ...
- C++解决case中不能定义局部变量问题
case Operation::DeviceAuthen: { std::string token = root["body"]["token"].asStri ...
- C#子类重写父类函数的两种方法
(1)使用Virtual关键字Override从写 父类子类代码如下,不能修改public 为其它权限 public virtual void Clear() { UpdateView(); } pu ...
- loj 10181 绿色通道 二分答案+单调队列DP
空题段长度即为单调队列长度区间 每次二分答案进行check即可 #include<bits/stdc++.h> using namespace std; ; const int inf=0 ...
- 【VS2015】链接器错误link2001
昨天的D3d第一章代码自己打了一遍结果运行报错LINK2001,无法解析外部的MinMain. 解决方法: 项目[属性]→[链接器]→[系统]→[子系统(subsystem)]改为控制台或者留空也可以 ...
- Linux静默安装matlab
对linux系统不是很熟,所有装起来有点费劲.来来回回折腾了二三天,查了很多攻略,但按照步骤老是报错,大体上各人设备不同.系统不同.环境设置不同,总是会多多少少略有差异. 一 基本配置 linux系统 ...
- 第26月第6天 selenium
1.selenium /** * @author Young * @param locator * @param values * @throws Exception */ protected voi ...