zoukankan      html  css  js  c++  java
  • supervisor进程管理工具的使用

    supervisor是一款进程管理工具,当想让应用随着开机启动,或者在应用崩溃之后自启动的时候,supervisor就派上了用场.

    广泛应用于服务器中,用于引导控制程序的启动

    安装好supervisor之后,可以新建一个/etc/supervisord.conf文件,该文件的内容通过通echo_supervisord_conf指令可以看到.

    通过以下指令可以启动supervisor(若不指定配置文件,会到特定的几个目录中去寻找):

    supervisord -c /etc/supervisord.conf

    在配置文件里,可以看到;注释的内容和托管进程的配置写法。

    [include]之后可以包含自己所写的配置文件路径,这样当supervisor启动之后会按照配置文件启动其他进程:

    [include]
    files = /etc/supervisor/*.conf

    例如,在supervisor下的配置文件cat.conf中,可以这样写(忽略注释):

    [program:theprogramname]  ;进程应用名称
    ;command=/bin/cat              ; 进程启动命令,涉及命令应使用绝对路径
    ;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
    ;numprocs=1                    ; number of processes copies to start (def 1)
    ;directory=/tmp                ; 在哪个目录中执行命令
    ;umask=022                     ; umask for process (default None)
    ;priority=999                  ; the relative start priority (default 999)
    ;autostart=true                ;当supervisor启动之后,本进程也启动
    ;startsecs=1                   ; 启动n秒之后没有异常,就算成功启动
    ;startretries=3                ; 若没有成功启动,需要重试几次
    ;autorestart=unexpected        ; 当supervisor崩溃之后,设置为true这个进程会自动重启
    ;exitcodes=0,2                 ; 'expected' exit codes used with autorestart (default 0,2)
    ;stopsignal=QUIT               ; signal used to kill process (default TERM)
    ;stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)
    ;stopasgroup=false             ; send stop signal to the UNIX process group (default false)
    ;killasgroup=false             ; SIGKILL the UNIX process group (def false)
    ;user=chrism                   ; 用户名
    ;redirect_stderr=true          ; redirect proc stderr to stdout (default false)
    ;stdout_logfile=/a/path        ; 执行命令后,结果输出的文件(该文件需事先touch)
    ;stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
    ;stdout_logfile_backups=10     ; # of stdout logfile backups (0 means none, 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        ; 执行命令后,错误信息的输出文件
    ;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) ;stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, 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" ; process environment additions (def no adds) ;serverurl=AUTO ; override serverurl computation (childutils)

    如果不显式指定,则使用默认配置

    可以配置使supervisor随着主机的启动而启动,这样就能实现主机启动->supervisor启动->应用程序启动的传递。

    关于supervisorctl:

    supervisorctl是supervisord的客户端,可以指定使用与supervisord相同的配置文件启动(若不指定也会到特定目录中去寻找配置文件):

    supervisorctl -c /etc/supervisord.conf

    supervisorctl中的一些常用命令如下:

    status:查看程序状态

    stop/restart/start xxx :停止/重启/启动 xxx

    update xxx 应用修改xxx后的配置文件

  • 相关阅读:
    ssm框架实现多条件查询分页(模拟百度算法)
    spring与mybatis的整合
    spring入门
    mybatis foreach标签用法
    图书借阅系统简易异步分页源码
    Jquery常用选择器
    mvc
    Java连接数据库 jdbc
    java学习线路
    Mybatis传递多个参数的几种方式
  • 原文地址:https://www.cnblogs.com/geeklove01/p/8098018.html
Copyright © 2011-2022 走看看