Supervisor 使用教程

Supervisor 使用教程

  1. 安装

  2. 改配置文件和写服务配置文件

    在/etc/supervisor 下有一个supervisor.conf

    遇到的问题:

    在启动后会内存会一直在涨,服务正常启动越占用2G左右,但是使用supervisor后会吃满内存。

    解决方法:

    相似问题:https://blog.csdn.net/wangsenling/article/details/109229236

    原因是supervisor默认只强制kill主进程,而主进程还没来得及向自己开启的子进程发起停止信号时,就被干掉了,导致子进程称为孤儿进程,杀都杀不掉,子进程之间又互相拉起;

    解决方案,在supervisor配置文件中,添加两行:

    干掉进程开启的子进程

    stopasgroup=true
    killasgroup=true
    

    后面supervisor.conf文件如下所示:

    ; supervisor config file
    
    [unix_http_server]
    file=/var/run/supervisor.sock   ; (the path to the socket file)
    chmod=0700                       ; sockef file mode (default 0700)
    
    [supervisord]
    logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
    pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
    childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)
    
    ; the below section must remain in the config file for RPC
    ; (supervisorctl/web interface) to work, additional interfaces may be
    ; added by defining them in separate rpcinterface: sections
    [rpcinterface:supervisor]
    supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
    
    [supervisorctl]
    serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket
    
    
    stopasgroup=true
    killasgroup=true
    ; The [include] section can just contain the "files" setting.  This
    ; setting can list multiple files (separated by whitespace or
    ; newlines).  It can also contain wildcards.  The filenames are
    ; interpreted as relative to this file.  Included files *cannot*
    ; include files themselves.
    
    [include]
    files = /etc/supervisor/conf.d/*.conf
    
    

    altest.conf文件

    [program:altest]
    directory=/home/gs/test/projects/test;
    command=/bin/bash /home/gs/test/projects/test/start.sh ;
    numprocs=1 ;
    user=robot ;
    autostart=true ;
    autorestart=true ;
    
    stopsignal=KILL ;
    exitcodes=0 ;
    startsecs=5 ;
    redirect_stderr=true ;
    stdout_logfile=/home/gs/test/projects/test/homeout.log ;
    
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值