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信号,包括子进程
本文来自博客园,站在巨人的肩膀上,坚持开源精神,遵循开源协议:Apache Licene 2.0协议。
浙公网安备 33010602011771号