zoukankan      html  css  js  c++  java
  • supervisor:进程管理工具

    一,安装(任何一种方式)

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

    二,配置

    1. 配置supervisor.conf
      • 添加web控制界面

                image

          2.    启动进程配置说明

    ; 管理单个进程的配置,可创建多个,下面是所有可能的配置选项
    ;[program:theprogramname]
    ;command=/bin/cat              ; 启动进程的命令 使用相对路径,可以加参数
    ;process_name=%(program_name)s ; 进程名称 表达式 (默认 %(program_name)s)
    ;numprocs=1                    ; 进程数目 (def 1)
    ;directory=/tmp                ; 执行命令所在的目录 (def no cwd)
    ;umask=022                     ; 进程默认权限 (default None)
    ;priority=999                  ; 进程启动相对优先权 (default 999)
    ;autostart=true                ; 跟随supervisor启动时启动 (default: true)
    ;autorestart=unexpected        ; 计划启动 (default: unexpected)
    ;startsecs=1                   ; 延时启动 (def. 1)
    ;startretries=3                ; 最多连续启动失败 (default 3)
    ;exitcodes=0,2                 ; 进程结束代码 (default 0,2)
    ;stopsignal=QUIT               ; signal used to kill process (default TERM)
    ;stopwaitsecs=10               ; 最长结束等待时间,否则使用 SIGKILL (default 10)
    ;stopasgroup=false             ; 是否想UNIX进程组发送结束信号 (default false)
    ;killasgroup=false             ; SIGKILL UNIX 进程组 (def false)
    ;user=chrism                   ; 设置启动此程序的用户
    ;redirect_stderr=true          ; 重定向程序的标准错误到标准输出 (default false)
    ;stdout_logfile=/a/path        ; 标准输出的日志路径, NONE for none; default AUTO
    ;stdout_logfile_maxbytes=1MB   ; 日志文件最大值,否则循环写入 (default 50MB)
    ;stdout_logfile_backups=10     ; 标准输出日志备份数目 (default 10)
    ;stdout_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
    ;stdout_events_enabled=false   ; emit events on stdout writes (default false)
    ;stderr_logfile=/a/path        ; 标准错误输出日志路径, NONE for none; default AUTO
    ;stderr_logfile_maxbytes=1MB   ; 日志文件最大值,否则循环写入 (default 50MB)
    ;stderr_logfile_backups=10     ; 标准错误日志备份数目 (default 10)
    ;stderr_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
    ;stderr_events_enabled=false   ; emit events on stderr writes (default false)
    ;environment=A="1",B="2"       ; 进程附加环境 (def no adds)
    ;serverurl=AUTO                ; override serverurl computation (childutils)

    配置范例:

    image

    注:

    • 该文件必须放在conf.d文件夹下
    • 配置文件名后缀必须为.conf

    三,管理工具

    1. supervisorctl 管理终端:
    supervisorctl status: 查看当前运行的进程列表
    supervisorctl stop xxx: 停止某一个进程(xxx),xxx为[program:theprogramname]里配置的值。
    supervisorctl start xxx: 启动某个进程
    supervisorctl restart xxx: 重启某个进程
    supervisorctl stop groupworker: 重启所有属于名为groupworker这个分组的进程(start,restart同理)
    supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
    supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
    supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
    注意:显示用stop停止掉的进程,用reload或者update都不会自动重启。

       2.web

    image

      3.重新启动

     ps -ef | grep supervisord

    /etc/init.d/supervisor start

    四,FAQ

    * Starting Supervisor daemon manager......
    Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.
    For help, use /usr/bin/supervisord -h
    ......fail!

    方法:http://stackoverflow.com/questions/14479894/stopping-supervisord-shut-down

  • 相关阅读:
    如何在linux服务器下快速安装配置Node.js
    光纤路由器曝远程命令执行漏洞 上百万台家用路由器易遭劫持
    光纤路由器曝远程命令执行漏洞 上百万台家用路由器易遭劫持
    编写高性能JavaScript
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/dmir/p/4984894.html
Copyright © 2011-2022 走看看