supervisor 守护多个进程_进程管理工具之Supervisor

相关介绍

Supervisor是用Python 开发的一个client/server服务,是 Linux /Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

二、安装部署配置

1、安装

Supervisort是基于python开发的,需要检测系统是否具有python2.4以上的版本。一般centos7的系统都是基于python2.7以上了。

①检测环境

# 查看python版本
python --version# 配置epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 安装pip包管理工具
yum install python-pip -y# 默认pip源过国外速度感人,故也切换为国内aliyuan源
mkdir ~/.pip
vim ~/.pip/pip.conf# 添加以下内容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/[install]
trusted-host=mirrors.aliyun.com

②安装supervisor

pip install supervisor

配置介绍

Supervisor 相当强⼤,提供了了很丰富的功能,不过我们可能只需要⽤到其中⼀小部分。安装完成之后,可以编写配置⽂文件,来满足自己的需求。

为了方便管理配置信息,我们把配置分成两部分:

supervisor 是⼀个 C/S 模型的程序,supervisord是server 端,supervisorctl是对应的client端。及其应用程序(即我们要管理的程序)。

首先来看supervisord 的配置文件。安装完supervisor之后,可以运行echo_supervisord_conf 命令输出默认的配置项,也可以重定向到⼀个配置文件里:

# 创建配置文件目录
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
# 打开设置子配置文件选项
vim /etc/supervisor/supervisord.conf
# 添加以下内容
[include]
files = /etc/supervisor/config.d/*.ini

子配置文件

# 根据主配置文件里设置的子配置文件路径建立目录
mkdir /etc/supervisor/config.d
# 建立一个配置文件
vim /etc/supervisor/config.d/test.ini
# 添加以下内容
#项目名称
[program:test] 
# 项目根目录
directory=/root
# 启动执行命令 
command=/root/test.sh
stderr_logfile=/tmp/test_stderr.log
stdout_logfile=/tmp/test_stdout.log

三、案例测试使用

1、配置执行命令脚本

①脚本内容
vim /root/test.sh# 内容为
#!/bin/bash
while true
doecho `date`sleep 10
done# 赋予执行权限
chmod +x test.sh

②启动supervisor

supervisord -c /etc/supervisor/supervisord.conf

查看日志

脚本执行,并标准输出到对应设置的日志文件中

a32ccbc816772ff924b763f96fe35e85.png

测试终止进程

d7ab139e46d015f4a08a3299fbeb5c97.png

通过以上操作,可以看到supervisor可以进行进程的管理,当托管进程意外关闭后,也会重启托管的进程。一定程度上实现了,守护进程的高可用。

web页面开启

①修改配置文件

vim /etc/supervisor/supervisord.conf

fa159430a732a72f89910bfd53bfdc62.png

②重启服务

supervisorctl reload

③访问查看

可以通过web管理界面,对于托管的进行管理操作

15478af4bcf7885bb04cfa07decdf911.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yaahp层次分析法步骤_综合评价方法之层次分析法,选择再也难不倒你!

在日常生活中,我们常常面临着各种各样的选择。比如你想去北京、上海、广州旅游,但是由于种种原因,你只能选择一个地点去旅游,那么哪一种选择是最优的呢?有没有较为科学的方法帮助我们更好地选择呢?今天&…

TCP/IP TELNET SSH

快速导航 远程登录示例 关于远程登录? 嵌入? 用来控制远程服务器上运行的应用程序字符? 转义? 操作方式? 关于SSH? 远程登录示例 关于远程登录? 网络虚拟终端(Network Virtual Terminal,NVT)通过…

如何用 Python 实现 Web 抓取?

【编者按】本文作者为 Blog Bowl 联合创始人 Shaumik Daityari,主要介绍 Web 抓取技术的基本实现原理和方法。文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文。 随着电子商务的蓬勃发展,笔者近年越来越着迷于比价应用。我在网络上&…

sentinel 不显示项目_Sentinel+Nacos实现资源流控、降级、热点、授权

本文同名博客老炮说Java:https://www.laopaojava.com/,每天更新Spring/SpringMvc/SpringBoot/实战项目等文章资料SentinelNacos 是微服务环境搭建必不可少的两个组件,这里给大家推荐一套微服务教程:SpringCloud微服务电商项目教程…

斗地主你什么时候才会托管?(.NET中的托管于非托管)

文章部分引自《.NET4.0面向对象编程漫谈(基础篇)》第1章.NET面向对象编程基础(作者:金旭亮) 无意间看到一位四五岁左右小朋友在玩斗地主,总开始到结束,她一直都在使用“提示”(托管&…

英特尔固态硬盘540s开卡_英特尔Z490主板绝配?技嘉PCIe 3.0 x8固态硬盘测试:6.5GB/s读速...

PCIe 4.0为高端NVMe固态硬盘提供了更广阔的提升空间,而暂时与PCIe 4.0无缘的英特尔平台就比较尴尬。技嘉推出的AORUS RAID SSD似乎正是为此而生,它以PCIe 3.0 x8接口提供6500MB/s顺序读取和6000MB/s顺序写入速度,足以媲美尚未面世的第二代PCI…

李洪强-C语言2-字符串

C语言字符串 一、字符串基础 注意:字符串一定以\0结尾。 Printf(“yang\n”); 其中yang为字符串常量,“yang”‘y’‘a’‘n’‘g’‘\0’。字符串由很多的字符组成,通常使用字符数组来存储字符串,如char name[10]“yang”;也可以…

【练习5.9】图像掩码、礼帽、cvCopy、图像融合、cvCvtColor

提纲题目要求程序代码结果图片要言妙道题目要求: 读入一副风景图,然后将其转化为灰度图像 a、对图像进行形态学“礼帽”操作,并显示结果 b、将结果图像转化为8位的掩码 c、复制灰度值到礼帽块中,显示结果→我的理解是,…

div超出不换行_文字超出显示点点点之ellipsis 设置

一般情况下一行文字在一定区域显示的话如果不限定高度,那么在内容超过的宽度的话就会换行显示,为了页面的美观,目前的通用做法就是在最后显示…,然后鼠标悬浮显示完整内容,具体设置如下:height: 40px; overflor: hidde…

Kali源库配置和拼音安装

2019独角兽企业重金招聘Python工程师标准>>> 版本:kali-linux-2016.1-i386 0、对kali进行系统更新或者软件安装,直接通过国内网络访问境外主网网络不稳定,不如改成国内资源站点。 1、修改以下文档 vim /etc/apt/sources.list 2、文…

java中审核订单流程图_Java 后端横扫阿里、滴滴、美团总结的面试经验!

这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉淀几年了。先说下这次面试的结果吧:到 hr 面的:阿里、美团、滴滴、金山云…

产品铭牌要求_AMPULM:电力变压器铭牌有哪些主要技术参数,你都知道吗?

电力变压器电力变压器是供配电系统中关键的一个环节, 它起到电力系统中电压等级的变换,同时连接不同电压等级的电网,以利于电能的输送、分配和使用。认识变压器铭牌图片为一台电力变压器上的铭牌,从铭牌上可以看到变压器的哪些信息…

python 学习资源收集汇总

2019独角兽企业重金招聘Python工程师标准>>> Python是一种面向对象、直译式计算机程序设计语言。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块。与Scheme、Rub…

一年月份大小月口诀_怎么看自己的日柱 公式 推算口诀 最简便计算方法

日柱指的是我们农历干支出生的那一天,通过日柱我们可以看出自己命运的轨迹和走向,从风水学上来讲日柱是八字算命中举足轻重的一部分,那么如何知道自己的日柱呢?通过本期的四柱预测,给大家介绍一种最简便的推算口诀和日…

delphi excel取批注所在的行列_35个Excel使用技巧

技巧1、单元格内强制换行在单元格中某个字符后按alt回车键,即可强制把光标换到下一行中。技巧2、锁定标题行选取第2行,视图 - 冻结窗格 - 冻结首行(或选取第2行 - 冻结窗格)冻结后再向下翻看时标题行始终显示在最上面。技巧3、打印标题行如果想在打印时每…

如何接收串口数据_UART IDLE 中断使用接收不定长串口数据

前言在串口通信应用中,我们常使用接受和发送中断,相信大家都不陌生。这里有个非常有用的中断可能被大家所忽略,即总线IDLE中断。当一帧数据传输结束之后,总线会维持高电平状态,此时,就可以触发MCU的IDLE中断…

MFC 进度条CProgressCtrl

2019独角兽企业重金招聘Python工程师标准>>> SetStep(1);//设置步长 SetRange32(0, total);//设置范围 SetPos(_cur);//设置当前 进度 StepIt();进步一次 转载于:https://my.oschina.net/kkkkkkkkkkkkk/blog/688392

css限制字体三行_讲道理,仅3行核心css代码的rate评分组件,我被自己秀到头皮发麻...

(给100素材网点亮★号,提升开发技能)像rate评分组件一般都用javascript写,所以这次将是一个全新的尝试,用css实现一个rate评分 ❗ 核心代码也就三行?01效果图02原理主要是借助radio单选框,梳理如下:去找个好看的iconf…

matlab GUI之自定义菜单小结

自定义菜单 1.uimenu对象 huimenu(PropertyName,ProperValue) huimenu(parent,PropertyName,ProperValue) 常见属性: 1.1标签 label uimenu(label,&Open) 1.2快捷键 Accelerator uimenu(Accelerator,E) 快捷键位 ctrlE 注意以下三个是系统保留的Accelerator…

把cpp编译为so_基于VSCode和CMake进行C/C++开发第三讲GCC编译器

3.0 本讲目录本系列视频,B站首发,up主: xiaobing1016前言:GCC 编译器支持编译 Go、Objective-C,Objective-C ,Fortran,Ada,D 和 BRIG(HSAIL)等程序;Linux 开发C/C 一定要熟悉 GCCVS…