supervisor 管理进程

安装

pip install supervisor

配置

/etc/supervisord.conf

[unix_http_server]
file=/var/run/supervisor.sock   ; UNIX socket 文件,supervisorctl 会使用,如果不能自动创建,可能是没有权限,需要手动添加

[supervisord]
logfile=/var/log/supervisord.log ; 日志文件,默认是 $CWD/supervisord.log
logfile_maxbytes=50MB        ; 日志文件大小,超出会 rotate,默认 50MB
logfile_backups=10           ; 日志文件保留备份数量默认 10
loglevel=info                ; 日志级别,默认 info,其它: debug,warn,trace

pidfile=/var/run/supervisord.pid ; pid 文件
nodaemon=false               ; 是否在前台启动,默认是 false,即以 daemon 的方式启动
minfds=1024                  ; 可以打开的文件描述符的最小值,默认 1024
minprocs=200                 ; 可以打开的进程数的最小值,默认 200

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; 通过 UNIX socket 连接 supervisord,路径与 unix_http_server 部分的 file 一致
[include]
files=/web/website/supervisor/*.conf

程序配置

/web/website/supervisor/kalaxing.conf

[program:kalaxing]
directory = /web/website/kalaxing ; 程序的启动目录
command = python task.py  ; 启动命令
autostart = true     ; 在 supervisord 启动的时候也自动启动
startsecs = 5        ; 启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true   ; 程序异常退出后自动重启
startretries = 3     ; 启动失败自动重试次数,默认是 3
user = root          ; 用哪个用户启动
redirect_stderr = true  ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20     ; stdout 日志文件备份数
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile = /var/log/kalaxing.log

运行

supervisord -c /etc/supervisord.conf

查看 supervisord 是否在运行:

ps aux | grep supervisord

命令行输入supervisorctl,则会进入supervisorctl的shell界面,有以下方法:
status    # 查看程序状态
stop kalaxing   # 关闭 kalaxing 程序
start kalaxing  # 启动 kalaxing 程序
restart kalaxing   #修改代码后要运行这个命令,重启程序才能生效。
reread    # 读取有更新(增加)的配置文件,不会启动新添加的程序
update    # 重启配置文件修改过的程序

也可以直接运行,与上面功能一样

启动 supervisorctl start kalaxing 

重启 supervisorctl restart kalaxing #修改代码后要运行这个命令,重启程序才能生效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值