美文网首页
supervisor进程守护

supervisor进程守护

作者: 李霖弢 | 来源:发表于2021-10-27 16:17 被阅读0次

1. 安装 supervisor

pip install supervisor

2. 创建主进程配置文件 supervisord.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

; 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

3. 创建子进程配置文件 .conf

根据supervisord.conf文件中的include文件路径,创建多个.conf文件,如下为seal.conf

[program:seal_pdf]
directory=/data/QL_pdf
command=flask run
autostart=true
autorestart=true
killasgroup=true
stopasgroup=true
stdout_logfile=/data/QL_pdf/logs/http.log
redirect_stderr=true

4. 启动主进程

根据supervisord.conf文件位置,启动 supervisorctl

supervisord -c /etc/supervisor/supervisord.conf

5. 管理子进程

  • supervisorctl status
  • supervisorctl start 【program_name】
  • supervisorctl stop 【program_name】

6. 让子进程配置文件的修改生效

  • supervisorctl update

注意

supervisor没有监听内部程序并自动重启的功能,如需要可搭配gunicorn等使用

相关文章

网友评论

      本文标题:supervisor进程守护

      本文链接:https://www.haomeiwen.com/subject/zocpaltx.html