• 【Linux】supervisord 进程管理,自动重启


    supervisord的介绍:

    1. 官网: http://supervisord.org/
    2. github: https://github.com/Supervisor/supervisor

    概述:

    软件功能:

    本软件是进程管理系统,可以很简单的管理系统,同时提供了很丰富的接口可以让你随心所欲的管理

    应用场景:

      1. 常驻任务维护、管理,不论你的常驻进程是什么语言写的,都可以使用本神器管理
      2. 用来监控nginx, redis, mongodb等软件,实现软件如果因为异常挂了,可以自动重启,不至于终端服务

    简单来讲:守护进程,如果你的进程一直在运行,突然挂了。 那么supervisord能帮你速度拉起这个进程,使之正常运行

    架构:

    supervisord: 服务端,真正用来监控程序的进程

    supervisorctl: 客户端,用来管理监控程序的进程

    安装:

    说明:

      1. 我这里采用了一个自己约定的规范,方便组内成员形成共识,对服务管理没有学习成本
      2. 我是依赖python安装的

    规范:

      1. 软件根目录: /data/opt
      2. 快捷方式根目录: /data/opt/scripts,其中本目录会加入到系统PATH中。export PATH='/data/opt/scripts':$PATH
      3. supervisord的配置目录、以及运行日志目录都放置在/data/opt/supervisord里

    依赖:

    python

    安装:  

    pip install supervisor

    配置文件

    “echo_supervisord_conf”命令来生成配置文件,例

    echo_supervisord_conf > /etc/supervisord.conf

    配置管理的进程

    在 /etc/supervisord.conf 最后加上这两句
    [program:python]
    command=python /tmp/test.py
    /tmp/test.py的文件内容
    
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import time
    
    while(True):
        # 3秒
        time.sleep(1)
    
        # 打开文件
        fo = open("/tmp/test.txt", "a")
        print "文件名为: ", fo.name
        str = time.ctime() + "
    "
        fo.write( str )
    
        # 关闭文件
        fo.close()

    启动supervisord

    supervisord #回车即启动  -h 下可以看下参数的具体配置

    查看 python的进程 

     可以看到 /tmp/test.txt 里面的内容在增加 

    测试

    现在收到杀掉python test.py这个进程 

    kill -9 5535 杀死python test.py这个进程

    然后再去查看进程 马上就可以看到 python test.py又出现了 
    看下 进程号 已经变成了 5592

    参考:

    相当不错的讲解

    结构树讲解跟配置

    supervisord 配置参数解释

    控制界面实现

  • 相关阅读:
    Git查询
    HDU-3038 How Many Answers Are Wrong 并查集
    CodeForcesEducationalRound40-D Fight Against Traffic 最短路
    HDU-6109 数据分割 并查集(维护根节点)
    ZOJ-3261 Connections in Galaxy War 并查集 离线操作
    AtCoderBeginner091-C 2D Plane 2N Points 模拟问题
    HDU-1878 欧拉回路 欧拉回路
    [笔记-图论]Floyd
    [笔记-图论]Bellman-Ford
    [笔记-图论]Dijkstra
  • 原文地址:https://www.cnblogs.com/sowhat1412/p/12734104.html
Copyright © 2020-2023  润新知