欢迎访问玛尊真服务平台,本站唯一网址:www.isodyi.com,未经明确书面许可,任何人不得擅自使用“玛尊真”等商标。
玛尊真ISO认证服务公司

进程管理supervisor的简单说明

背景:

      项目中遇到有些脚本需要通过后台进程运行,保证不被异常中断,之前都是通过nohup、&、screen来实现,带着能否做一个start/stop/restart/reload的服务启动的想法找到里Supervisor。关于supervisor的介绍在网上大致搜索总结如下:

公司主营业务:成都网站设计、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出罗田免费做网站回馈大家。

      Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。

说明:

1,安装

进程管理supervisor的简单说明

1:easy_install 安装:
easy_install supervisor2:pip 安装:
pip install supervisor3:Debian / Ubuntu可以直接通过apt安装:
apt-get install supervisor

进程管理supervisor的简单说明

2,配置文件

1)通过apt-get install安装后,supervisor的配置文件在:

/etc/supervisor/supervisord.conf 

supervisor的配置文件默认是不全的,不过在大部分默认的情况下,上面说的基本功能已经满足。而其管理的子进程配置文件在:

/etc/supervisor/conf.d/*.conf

然后,开始给自己需要的脚本程序编写一个子进程配置文件,让supervisor来管理它,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名(每个进程的配置文件都可以单独分拆也可以把相关的脚本放一起)。如任意定义一个和脚本相关的项目名称的选项组(/etc/supervisor/conf.d/test.conf):

进程管理supervisor的简单说明

#项目名[program:blog]
#脚本目录
directory=/opt/bin
#脚本执行命令
command=/usr/bin/python /opt/bin/test.py
#supervisor启动的时候是否随着同时启动,默认True
autostart=true
#当程序exit的时候,这个program不会自动重启,默认unexpected
#设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的
autorestart=false
#这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
startsecs=1
#日志输出 
stderr_logfile=/tmp/blog_stderr.log 
stdout_logfile=/tmp/blog_stdout.log 
#脚本运行的用户身份 
user = zhoujy 
#把 stderr 重定向到 stdout,默认 false
redirect_stderr = true
#stdout 日志文件大小,默认 50MB
stdout_logfile_maxbytes = 20M
#stdout 日志文件备份数
stdout_logfile_backups = 20


[program:zhoujy] #说明同上
directory=/opt/bin 
command=/usr/bin/python /opt/bin/zhoujy.py 
autostart=true 
autorestart=false 
stderr_logfile=/tmp/zhoujy_stderr.log 
stdout_logfile=/tmp/zhoujy_stdout.log 
#user = zhoujy

进程管理supervisor的简单说明

2)通过easy_install安装后,配置文件不存在,需要自己导入。

①:运行echo_supervisord_conf打印出一个配置文件的样本,样本说明可以看supervisor(一)基础篇的详细说明,要是设置样本为一个配置文件则:

1:运行 echo_supervisord_conf,查看配置样本:
echo_supervisord_conf2:创建配置文件:
echo_supervisord_conf > /etc/supervisord.conf

②:配置子进程配置文件,可以直接在supervisor中的;[program:theprogramname]里设置。

详细的子进程配置文件:

样本:

进程管理supervisor的简单说明 View Code

说明:

进程管理supervisor的简单说明 View Code

改成自己实际的配置文件:和①上面一样。

3:运行

1)apt-get install 安装的supervisor直接可以通过 /etc/init.d/supervisor 运行:

/etc/init.d/supervisor start

2)通过easy_install 安装的supervisor运行supervisord 运行:

supervisord

4:web界面操作

需要在supervisor的配置文件里添加[inet_http_server]选项组:之后可以通过http://10.211.55.11:9001来访问控制子线程的管理。

[inet_http_server]
port=10.211.55.11:9001username=user
password=123

效果:

进程管理supervisor的简单说明

5:子进程管理(supervisorctl)

1) 查看所有子进程的状态: 

# supervisorctl statusblog                             RUNNING    pid 2395, uptime 0:08:41zhoujy                           RUNNING    pid 2396, uptime 0:08:41

2)关闭、开启指定的子进程:

# supervisorctl stop zhoujyzhoujy: stopped

# supervisorctl start zhoujyzhoujy: started

3)关闭、开启所有的子进程:

# supervisorctl stop allblog: stopped
zhoujy: stopped
# supervisorctl start allblog: started
zhoujy: started

4):其他参数:supervisor开启后子进程自动开启(autostart=true)和子进程退出后自动启动(autorestart=ture

更多的参数可以看官方文档和supervisor(一)基础篇的说明。

上一篇:没有了
快速申请办理
称呼: *
电话: *

订单提交后,10分钟内,我们将安排工作人员和您联系!

热点资讯
联系我们
大悟县玛尊真商贸有限公司
电   话:0712-7218610

传   真:0712-7218610

谭经理:18980820575

王主任:135 1821 9792

邮   箱:631063699@qq.com

地   址:湖北省孝感市大悟县城关镇鄂北物流城13栋125号

微信二维码
扫一扫 关注我们
电话:

189-8208-1108

湖北省孝感市大悟县城关镇鄂北物流城13栋125号八戒云创空间-D1-430

ISO体系认证
iso认证
服务体系认证
有机产品认证
OHSAS18001
ITSS认证
信用评级
中国招标企业信用认证
资信等级
重合同守信用
企业信用认证
中国诚信供应商
质量、服务诚信认证
CMMI
CMMI1
CMMI2
CMMI3
CMMI4
CMMI5
系统集成
系统集成一级
信息系统集成二级
信息系统集成三级
信息系统集成四级
涉密信息系统集成
资质许可证
生产许可证认证
GS认证
CCC认证
中国节能认证
十环认证
知识产权

Copyright © 2002-2025

大悟县玛尊真商贸有限公司 版权所有

备案/许可证号:鄂ICP备2025140345号-7   网站建设创新互联
 
QQ在线咨询
客服咨询
咨询热线
189-8208-1108