supervosor 进程管理

简介

定义:Supervisor是用Python开发的一套通用的进程管理程序
功能:能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启
管理方式:它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动
额外功能:为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程

安装

# 四种安装方式
yum install supervisor
apt-get install supervisor
pip install supervisor
easy_install supervisor

测试使用

# 配置文件说明
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;; supervisor config file ;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[unix_http_server]
file=/var/run/supervisor.sock    ;socket 路径
[supervisord]
logfile=/var/log/supervisor/supervisord.log ;日志文件,默认是 $CWD/supervisord.log
loglevel=info                               ;日志级别,默认info,其它: debug,warn,trace
pidfile=/var/run/supervisord.pid            ;pid文件
childlogdir=/var/log/supervisor             ;子进程日志存放路径
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ;通过UNIX socket连接supervisord

;配置文件子集
[include]
files = /etc/supervisor/conf.d/*.conf ;可以指定一个或多个以.conf结束的配置文件

vim /etc/supervisor/conf.d/xx.conf

[program:xx]
command=/data/frp/frps -c /data/frp/frps.ini  ; 程序启动命令

autorestart=true     ; 是否自动重启
startsecs=3          ; 自动重启间隔时间
startretries=3       ; 启动失败自动重试次数,默认是3
;priority=999         ; 进程启动优先级,默认999,值小的优先启动
;redirect_stderr=true ; 把stderr重定向到stdout,默认false
;stdout_logfile_maxbytes=20MB  ; stdout 日志文件大小,默认50MB
;stdout_logfile_backups=20     ; stdout 日志文件备份数,默认是10
;stdout_logfile=/data/frp/frps.log   ; 进程的日志
;stopasgroup=false     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
;killasgroup=false     ;默认为false,向进程组发送kill信号,包括子进程

posted on 2025-11-04 14:33  luokeli  阅读(4)  评论(0)    收藏  举报

导航