Ubuntu18.04 使用supervisor做守护进程

本文详述了在Ubuntu18.04上使用Supervisor作为守护进程管理器的步骤,包括安装、配置、加载配置、启动进程等关键环节,同时提供了常见命令的使用说明和配置文件详解,帮助读者深入了解Supervisor的工作原理。

Ubuntu18.04 使用supervisor做守护进程

 

注:本文有引用其他博客内容,引用地址:https://blog.youkuaiyun.com/A156348933/article/details/85158005

目录

Ubuntu18.04 使用supervisor做守护进程

1. 安装

2. 配置

3. 加载配置

4. 启动配置文件,开启对应进程

5. 常用命令

6. supervisord配置文件详解

7. supervisor 启动QT GUI程序


1. 安装

sudo apt-get install supervisor

2.配置

a) 生成默认supervisord服务的配置文件

sudo sh -c 'echo_supervisord_conf > /etc/supervisor/supervisord.conf'

 

b)修改配置文件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

 c)应用该配置文件

sudo supervisord -c /etc/supervisor/supervisord.conf

 

d)到/etc/supervisor/conf.d/下添加.conf格式的文件, 配置需要被守护的进程,注意分号前的空格.

[program:palmGate]
command=/usr/bin/env  bash /usr/local/bin/start.sh
user=palm
autostart=false
autorestart=true
startsecs=20
stdout_logfile=/usr/local/bin/supervisor_log/palmGateMachine_out.log
stderr_logfile=/usr/local/bin/supervisor_log/palmGateMachine_err.log

3. 加载配置

sudo supervisorctl reload

4.启动配置文件,开启对应进程

sudo supervisorctl start [conf_name]
#示例
sudo supervisorctl start palmGate

5. 常用命令

supervisorctl stop|start program_name #停止|启动任务

supervisorctl restart program_name #重启某个进程

supervisorctl stop foo: #停止所有属于名为foo这个分组的进程(start,restart同理),注意冒号

supervisorctl stop all#停止全部进程,注:start、restart、stop都不会载入最新的配置文件。

supervisorctl reload#载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。

supervisorctl update#根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
supervisorctl tail -f program_name # 查看 该程序的日志
supervisorctl shutdown #关闭supervisord进程
supervisorctl status #查看所有任务状态
ps -ef | grep common #查看进程信息

6.supervisord配置文件详解

[unix_http_server]            
file=/tmp/supervisor.sock   ; socket文件的路径,supervisorctl用XML_RPC和supervisord通信就是通过它进行
                              的。如果不设置的话,supervisorctl也就不能用了  
                              不设置的话,默认为none。 非必须设置        
;chmod=0700                 ; 这个简单,就是修改上面的那个socket文件的权限为0700
                              不设置的话,默认为0700。 非必须设置
;chown=nobody:nogroup       ; 这个一样,修改上面的那个socket文件的属组为user.group
                              不设置的话,默认为启动supervisord进程的用户及属组。非必须设置
;username=user              ; 使用supervisorctl连接的时候,认证的用户
                               不设置的话,默认为不需要用户。 非必须设置
;password=123               ; 和上面的用户名对应的密码,可以直接使用明码,也可以使用SHA加密
                    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值