Supervisor是一个进程监控程序。

满足的需求是:我现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor

先弄懂两个命令:

supervisord : supervisor的服务器端部分,启动supervisor就是运行这个命令

supervisorctl:启动supervisor的命令行窗口。

需求:redis-server这个进程是运行redis的服务。我们要求这个服务能在意外停止后自动重启。

安装(Centos):

yum install python-setuptools

easy_install supervisor

测试是否安装成功:

echo_supervisord_conf

创建配置文件:

echo_supervisord_conf > /etc/supervisord.conf

修改配置文件:

在supervisord.conf最后增加:

[program:redis]

command = redis-server   //需要执行的命令

autostart=true    //supervisor启动的时候是否随着同时启动

autorestart=true   //当程序跑出exit的时候,这个program会自动重启

startsecs=3  //程序重启时候停留在runing状态的秒数

(更多配置说明请参考:http://supervisord.org/configuration.html

运行命令:

supervisord    //启动supervisor

supervisorctl   //打开命令行

[root@vm14211 ~]# supervisorctl
redis                            RUNNING    pid 24068, uptime 3:41:55

ctl中: help   //查看命令

ctl中: status  //查看状态

遇到的问题:

1 redis出现的不是running而是FATAL 状态

应该要去查看log

log在/tmp/supervisord.log

2 日志中显示:

gave up: redis entered FATAL state, too many start retries too quickly

修改redis.conf的daemonize为no

具体说明:http://xingqiba.sinaapp.com/?p=240

事实证明webdis也有这个问题,webdis要修改的是webdis.json这个配置文件

完成验证:

1 ps aux | grep redis

[root@vm1~]# ps aux | grep redis
root     30582  0.0  0.0   9668  1584 ?        S    14:12   0:00 redis-server

2 kill 30582

3

[root@vm1 ~]# ps aux | grep redis
root     30846  0.0  0.0   9668  1552 ?        S    15:19   0:00 redis-server

看到这个时候pid更新了。

完成,庆祝。

----------------------

按需讲解之Supervisor的更多相关文章

  1. 【转】supervisor安装与配置

    1.安装 宿主机环境:(Centos7) 宿主机环境 #yum install python-setuptools yum install python-setuptools#easy_install ...

  2. Supervisor 管理后台守护进程

    Supervisor 管理后台守护进程 参考原文如下: http://codinn.com/people/brant/notes/110948/ 做了一些注释 +++++++++++引用开始+++++ ...

  3. Storm on Yarn :原理分析+平台搭建

    Storm on YARN: Storm on YARN被视为大规模Web应用与传统企业应用之间的桥梁.它将Storm事件处理平台与YARN(Yet Another Resource Negotiat ...

  4. Storm on Yarn 安装配置

    1.背景知识 在不修改Storm任何源代码的情况下,让Storm运行在YARN上,最简单的实现方法是将Storm的各个服务组件(包括Nimbus和Supervisor),作为单独的任务运行在YARN上 ...

  5. C#Expression合集

    一:总体概览 1:获取属性值: 2:调用方法 3:动态构造条件 4:创建对象 5:Switch Case 6:Try Catch 以及捕获异常信息并输出 7:if  esle 8:+  / += 9: ...

  6. 转-Activity中使用orientation属性讲解及需注意的问题

    http://www.software8.co/wzjs/yidongkaifa/6504.html 今天遇到了一个关于orientation的问题查了点资料记录一下,只有点点滴滴的积累,才能让我们更 ...

  7. node.js零基础详细教程(7.5):mongo可视化工具webstorm插件、nodejs自动重启模块Node Supervisor(修改nodejs后不用再手动命令行启动服务了)

    第七章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...

  8. uWSGI+nginx+django+virtualenv+supervisor部署项目

    一.前言 在部署项目前,你已有一个能够在你本机测试过,能正常启动的Django项目(毕竟本文主要讲解部署Django项目),以及掌握了Linux系统的一些基本命令. 相关链接: Centos7安装py ...

  9. 进程管理工具 Supervisor

    要想在终端后台常驻进程,首先想到的是在命令后加 & 符号,来达到隐藏程序在后台的目的,尽管看起来进程已经在后台运行了,实际上终端会话关闭时进程还是会被 kill 掉,这种问题一般是采用搭配 n ...

随机推荐

  1. NPOI常用功能工具类

    public class NPOIHelper { /// <summary> /// DataTable导出到Excel文件 /// </summary> /// <p ...

  2. opencv for python 之 突出点检测

    opencv下载地址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/OpenCV-2.4.3.exe/dow ...

  3. HDU 2844 Coins(多重背包)

    点我看题目 题意 :Whuacmers有n种硬币,分别是面值为A1,A2,.....,An,每一种面值的硬币的数量分别是C1,C2,......,Cn,Whuacmers想买钱包,但是想给人家刚好的钱 ...

  4. Android SurfaceView实现全屏播放例子

    public class Mymedia extends Activity implements OnBufferingUpdateListener, OnCompletionListener, Me ...

  5. RPGJS 进阶分析之 如何使用RMXP导出的数据

    首先启动RMXP 在主脚本编辑区粘贴官方提供的导出数据脚本. 之后启动并进入游戏之后按F8键就可以调出导出Map和Animation的菜单 导出后的数据保存在工程目录下的RpgJs目录下. Datab ...

  6. Android开发之permission

    permission,Android权限系统. 基本上都是在manifest.xml文件中进行操作. 1.申请使用权限 申请使用权限使用标记:<uses-permission /> 比如申 ...

  7. PHP ‘asn1_time_to_time_t’函数内存损坏漏洞

    漏洞名称: PHP ‘asn1_time_to_time_t’函数内存损坏漏洞 CNNVD编号: CNNVD-201312-348 发布时间: 2013-12-18 更新时间: 2013-12-18 ...

  8. Master Nginx(5) - Reverse Proxy Advanced Topics

    Security through separtion Encrypting traffic with SSL Authenticating clients using SSL Blocking tra ...

  9. 使用 ASR 和 Azure Pack 为 IaaS 工作负荷提供托受管 DR

    Ashish Gangwar 云 + Enterprise项目经理 几周前,我们宣布了在 Azure Site Recovery 中提供一些新功能,这些新功能适用于不同场景,可以让服务提供商在 A ...

  10. C# 根据Word模版生成Word文件

    指定的word模版 2,生成word类 添加com Microsoft word 11.0 Object Library 引用 using System; using System.Collectio ...