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的更多相关文章

  1. linux 进程监控

    linux 进程监控 supervise Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程 ...

  2. Linux进程管理工具Supervisor的安装配置

    目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...

  3. linux 进程监控和自动重启的简单实现

    目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重 ...

  4. linux 进程监控和自动重启的简单实现(转)

    目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重 ...

  5. Linux进程管理工具——supervisor

    介绍 Supervisord是用Python实现的一款非常实用的进程管理工具 安装 这里用源码 supervisor-.tar.gz .tar.gz cd supervisor- sudo pytho ...

  6. Linux进程管理工具Supervisor

    简述 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启. 它是通过fork/exec的方式把这些被管 ...

  7. linux进程监控,monitor脚本

    由于服务器上一些进程莫名的挂掉,需要些一个monitor的bash脚本来监控这些进程: #! /bin/bash #chkconfig info ### BEGIN INIT INFO # Provi ...

  8. Linux进程监控命令

    最近使用centos在建站,没有用市面上的什么服务商的服务器,自己用树莓派3B+建了这个博客.但是发现经常宕机,所以想看看服务器在干什么,百度了很久,发现vmstat命令不错,拿出来推荐推荐. 这是我 ...

  9. linux进程监控和简单的重启&服务的创建 参考自http://blog.csdn.net/lockheed_hong/article/details/73549837

    脚本文件 该脚本实现了一个检测进程是否存在,不存在的情况下重启进程并且记录日志. #! /bin/sh proc_name="console/queue/gift.php" # 进 ...

随机推荐

  1. 谈一谈Elasticsearch的集群部署

      Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性.本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓 ...

  2. PHP7 学习笔记(十六)Yaconf 一个高性能的配置管理扩展

    鸟哥博客原文:Yaconf – 一个高性能的配置管理扩展 什么是yaconf ? 它使用单独的一个配置目录(在yaconf.directory指定), 不和代码在一起.它在PHP启动的时候, 处理所有 ...

  3. 前端面试题整理—ES6篇

    1.es5和es6的区别,说一下你所知道的es6 ECMAScript5,即ES5,是ECMAScript的第五次修订,于2009年完成标准化 ECMAScript6,即ES6,是ECMAScript ...

  4. 【转载】RPG颜色参考表

    https://blog.csdn.net/a949308398/article/details/17013087

  5. springboot09-redis

    redis安装: 从redis官网下载redis包,解压后: cmd执行命令启动本地redis: D: cd D:\Program Files\redis2.4.5\64bit redis-serve ...

  6. mysql信息函数

    mysql> SELECT CONNECTION_ID();  #当前连接的ID+-----------------+| CONNECTION_ID() |+-----------------+ ...

  7. DNN网络(二)反向传播算法

    本文摘自: https://www.cnblogs.com/pinard/p/6422831.html http://www.cnblogs.com/charlotte77/p/5629865.htm ...

  8. Oracle DbHelper

    wind8 系统选择项目时生成目标平台选择为X86 报错 “System.Exception”类型的未经处理的异常在 WindowsFormsApplication1.exe 中发生 其他信息: 尝试 ...

  9. js伪数组转数组

    方法1: 遍历伪数组,在把值push进一个空数组中 方法2: 使用数组的slice方法,它返回的是数组,使用call或apply指向伪数组 var arr = [].slice.call(argume ...

  10. 第28月第5天 uibutton交换方法

    1. //交换系统的方法 @implementation UIControl (MYButton) + (void)load { Method a = class_getInstanceMethod( ...