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,一经查实,立即删除!

相关文章

MySQL运算符优先级顺序

待续。。。转载于:https://www.cnblogs.com/yuyue2014/p/4451035.html

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

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

TCP/IP TELNET SSH

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

CentOs中iptables配置允许mysql远程访问

在CentOS系统中防火墙默认是阻止3306端口的,我们要是想访问mysql数据库,我们需要这个端口,命令如下: 1 /sbin/iptables -I INPUT -p tcp --dport 3036 -j ACCEPT 我们需要保存我们的操作,命令如下: 1 /etc…

莫兰迪紫rgb_莫兰迪rgb参数_译述北京 | RGB的前世今生

译述北京 | RGB的前世今生作为服饰三大要素之一的颜色 也常是女孩们着眼关注的话题不论是和谐统一还是创意满分的色彩搭配总是能让平平无奇的衣服具有吸引力 让人耳目一新从“泫雅风”的五彩斑斓到莫兰迪色系的低饱和度以及和bm风相辅相成的田园小清新色色彩在女孩们的《时尚经…

java 解决时间相减问题

比如 Date currentTime "2011-06-20 9:23:50"; Date endTime"2011-06-21 10:33:56"; 要求的结果是 endTime - currentTime 还剩余1天1小时10分6秒;如何来实现这个功能?? import java.text.SimpleDateFormat; import jav…

如何用 Python 实现 Web 抓取?

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

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

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

Java获取当前日期的前一个月,前一天的时间

Calendar calendar Calendar.getInstance(); calendar.add(Calendar.DATE, -1); //得到前一天 calendar.add(Calendar.MONTH, -1); //得到前一个月 int year calendar.get(Calendar.YEAR); int month calendar.get(Calendar.MONTH)1; 注意月份加一 /…

斗地主你什么时候才会托管?(.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、文…

nginx编译安装时添加echo模块

1. 首先下载模块源码:https://github.com/agentzh/echo-nginx-module/tags2. 解压到某个路径,假设为 /path/to/echo-nginx-module3. 使用下面命令编译并安装 Nginx$ wget http://sysoev.ru/nginx/nginx-1.0.11.tar.gz $ tar -xzvf nginx-1.0.11.tar.gz $…

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

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

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

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

STM8L芯片启动时钟分频问题及发现(转)

源:STM8L芯片启动时钟分频问题及发现 转载于:https://www.cnblogs.com/LittleTiger/p/4460684.html

python 学习资源收集汇总

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