IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    supervisor守护进程

    admin发表于 2016-06-16 10:01:54
    love 0

    supervisor守护进程,Linux进程守护,supervisor守护Linux进程

    一、安装:

    • sudo pip install supervisor
    • sudo easy_install supervisor
    • apt-get install supervisor
    • yum install supervisor

    二、supervisor的配置文件默认路径为:

    • /etc/supervisord.d ;存放着supervisor监管的进程的配置信息,一个进程对应一个配置文件
    • /etc/supervisord.conf ;supervisor的主配置文件,定义服务名称以及接口等等

    三、如果没有配置文件,创建配置文件:

    root下执行:echo_supervisord_conf > /etc/supervisord.conf

    四、Supervisor配置:

    用supervisor监控一个脚本进程,需要在/etc/supervisor.d中新建一个关于这个脚本进程的配置文件

    示例1:

    vim script.conf:

    [program:srcipt]     #程序的名字,在supervisor中可以用这个名字来管理该程序。
    command=scirpt.php   #启动程序的命令
    autorstart=true      #设置该程序是否随supervisor的启动而启动
    directory=page/to/your/        #相当于在该目录下执行程序
    autorestart=true               #程序停止之后是否需要重新将其启动
    startsecs=10                   #重新启动时,等待的时间
    startretries=36                #重启程序的次数
    redirect_stderr=true           #是否将程序错误信息重定向的到文件
    stdout_logfile=/home/hadoop/supervisor_log/log.txt #将程序输出重定向到该文件
    stderr_logfile=/home/hadoop/supervisor_log/err.txt #将程序错误信息重定向到该文件

    示例2:

    vim nginx.conf:

    [program:nginx]    
    command=/usr/local/nginx/sbin/nginx    ;要执行的命令,即启动需要守护的进程
    priority=1                             ;优先级
    numprocs=1                             ;启动的进程数目
    autostart=true                         ;supervisor启动的时候是否随着同时启动
    autorestart=true                       ;当supervisor程序crash的时候,这个进程会自动重启(很重要

    五、supervisor提供两个命令:

    • /usr/bin/supervisord ;supervisor服务守护进程
    • /usr/bin/supervisorctl ;supervisor控制台进程

    supervisorctl详细使用用法:

    1. supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
    2. supervisorctl status, 查看状态
    3. supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon。
    4. supervisorctl start programxxx,启动某个进程
    5. supervisorctl restart programxxx,重启某个进程
    6. supervisorctl stop groupworker: ,重启所有属于名为groupworker这个分组的进程(start,restart同理)
    7. supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。(用stop停止掉的进程,用reload或者update都不会自动重启)
    8. supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
    9. supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。

    Copyright:www.cplusplus.me Share、Open- C/C++程序员之家



沪ICP备19023445号-2号
友情链接