zoukankan      html  css  js  c++  java
  • supervisor使用

    supervisor

    supervisor管理进程,是通过fork/exec的方式将被管理的进程当作supervisor的子进程来启动。被管理的进程视为supervisor的子进程,若是子进程异常中断,则父进程可以获取到子进程的异常中断的信息,通过在配置文件中设置autostart=true,可以自动重启异常中断的子进程。

    安装supervisor

    检测是否已经安装rpm -qa | grep supervisor, 如果有输出则已经安装,如果没有安装则安装

    supervisor安装需要安装epel-release

    • CentOS/Fedora:
      yum install epel-release -y
      yum install supervisor -y

    配置

    默认的配置文件是/etc/supervisord.conf,默认的配置文件会加载/etc/supervisord.d/文件夹下的*.ini文件,

    ini文件的示例:

    # 程序名
    [program:example]
    
    # 执行的命令
    command=nohup python test.py >> /dev/null 2>&1 &
    
    # 执行命令的目录
    directory=/home/test/example/
    
    # 自动开启
    autostart=true
    
    # 自动重启
    autorestart=true
    
    # 用户
    user=root
    
    # 进程数
    numprocs=3
    
    # 启动三秒没有问题,就是成功了
    startsecs=3
    
    # 把stderr重定向到stdout,默认false
    redirect_stderr=true
    
    # stdout日志文件大小,默认50MB
    stdout_logfile_maxbytes=20MB
    
    # stdout日志文件备份数
    stdout_logfile_backups=20
    
    # 错误日志
    stderr_logfile=/var/log/example_err.log
    
    # 输出日志
    stdout_logfile=/var/log/example_out.log
    
    # 默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
    stopasgroup=false
    
    # 默认为false,向进程组发送kill信号,包括子进程
    killasgroup=false
    

    启动

    • 指定配置文件启动
      supervisorctl -c /etc/supervisord.conf

    • 使用systemd启动
      systemctl start supervisord

    • 重新加载添加的配置文件
      supervisorctl reload

    控制进程

    • 控制所有
      supervisorctl [ start | restart | stop ] all

    • 控制指定
      supervisorctl [ start | restart | stop ] example

  • 相关阅读:
    SQL注入过滤
    ASP.NET长文章分页
    简单的权限管理类
    不错的面试题
    【转载】【重要】Ubuntu Linux 下 Ffmpeg 及 Mencoder 安装使用小结
    回到xwindows
    suse11 linux不自动启动xwindows
    flash的几种工具
    mencoder和ffmpeg参数详解
    ffmpeg和Mencoder使用实例小全
  • 原文地址:https://www.cnblogs.com/zzhaolei/p/11068145.html
Copyright © 2011-2022 走看看