Linux进程管理工具 Supervisor详解

工业组态软件Intouch(单机版)入门{第一篇} 通俗来讲Intouch就是一个能将PLC里的信号显示在画面上的软件。 阅读详情

Supervisor安装与配置(linux/unix进程管理工具) Supervisor(http://supervisord.org)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。 Linux教程 因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以CentOS7.6,Python2.7.5版本环境下,介绍Supervisor的安装与配置步聚:

实验环境

系统平台

cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)

Python版本

python -VPython 2.7.5

如果python版本低于2.6请升级,下面贴出一个安装python3.6.8的安装示例

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y libffi-develwget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xztar xf Python-3.6.8.tar.xzcd Python-3.6.8./configure --prefix=/usr/local/python368make && make installecho 'export PATH=/usr/local/python368/bin:$PATH' >> /etc/profilesource /etc/profilepython3 -V

安装 Supervisor

安装 Supervisor的方法很多,以下介绍三种,我这里所采用的为第三种

1、easy_install 安装 supervisor

安装Python包管理工具(easy_install) easy_install是setuptools包里带的一个命令,使用easy_install实际上是在调用setuptools来完成安装模块的工作,所以安装setuptools即可:

wget https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zipunzip setuptools-33.1.1.zipcd setuptools-33.1.1python setup.py installeasy_install supervisor

2、pip 安装 supervisor

使用 pip 来安装,前提要保证pip版本大于2.6

  • pip install supervisor

3、yum epel-release 安装 supervisor

  • yum install -y epel-release && yum install -y supervisor

superviso命令

supervisor安装完成后会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf:

•supervisortd:用于管理supervisor本身服务•supervisorctl:用于管理我们需要委托给superviso工具的服务•echo_supervisord_conf:用于生成superviso的配置文件•supervisor的守护进程服务(用于接收进程管理命令)•客户端(用于和守护进程通信,发送管理进程的指令)

[root@Jumpserver /]# which supervisord/bin/supervisord[root@Jumpserver /]# which supervisorctl/bin/supervisorctl[root@Jumpserver /]# which echo_supervisord_conf/bin/echo_supervisord_conf

配置Supervisor

通过运行echo_supervisord_conf程序生成supervisor的初始化配置文件

如果使用yum安装则此步骤省略,直接进行修改配置文件步骤

mkdir /etc/supervisord.decho_supervisord_conf > /etc/supervisord.conf

修改配置文件

supervisor的配置文件内容有很多,不过好多都不需要修改就行使用,我这里只修改了以下两项

#修改socket文件的mode,默认是0700sed -i 's/;chmod=0700/chmod=0766/g' /etc/supervisord.conf   #在配置文件最后添加以下两行内容来包含/etc/supervisord目录sed -i '$a [include] \files = /etc/supervisord.d/*.conf' /etc/supervisord.conf

编写需要被Supervisor管理的进程

Supervisor只能管理非dameon进程,像默认的redis为前台运行、Tomcat其实是 startup.sh shutdown.sh来调用catalina.sh进行后台运行的,默认catalina.sh为前台运行的程序,不能管理像Nginx一样的非dameon进程

Tomcat被Supervisor管理

Tomcat安装如下:

wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-8/v8.5.47/bin/apache-tomcat-8.5.47.tar.gzyum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 -ytar xf apache-tomcat-8.5.47.tar.gz  -C /usr/local/mv /usr/local/apache-tomcat-8.5.47 /usr/local/tomcat

想要我们的应用被Supervisor管理,就需要在/etc/supervisord目录下编写配置文件,Tomcat案例如下:

vim /etc/supervisord.d/tomcat.conf[program:tomcat]                                        #程序唯一名称directory=/usr/local/tomcat                             #程序路径command=/usr/local/tomcat/bin/catalina.sh run           #运行程序的命令autostart=true                                          #是否在supervisord启动后tomcat也启动startsecs=10                                            #启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒autorestart=true                                        #程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启;意思为如果不是supervisord来关闭的该进程则认为不正当关闭,supervisord会再次把该进程给启动起来,只能使用该supervisorctl来进行关闭、启动、重启操作 startretries=3                                          #启动失败自动重试次数,默认是3user=root                                               #用哪个用户启动进程,默认是rootpriority=999                                            #进程启动优先级,默认999,假如Supervisord需要管理多个进程,那么值小的优先启动stopsignal=INTredirect_stderr=true                                    #把stderr重定向到stdout标准输出,默认falsestdout_logfile_maxbytes=200MB                           #stdout标准输出日志文件大小,日志文件大小到200M后则进行切割,切割后的日志文件会标示为catalina.out1,catalina.out2,catalina.out3...,默认50MBstdout_logfile_backups = 100                            #stdout标准输出日志文件备份数,保存100个200MB的日志文件,超过100个后老的将被删除,默认为10保存10个stdout_logfile=/usr/local/tomcat/logs/catalina.out      #标准日志输出位置,如果输出位置不存在则会启动失败stopasgroup=false                                       #默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程killasgroup=false                                       #默认为false,向进程组发送kill信号,包括子进程

启动进程 使用supervisord管理启动后,当你使用/usr/local/tomcat/shutdown.sh或者kill $PID的时候,supervisord都会认为是意外关闭,会自动再次把进程拉起,除非是使用supervisord命令关闭

#supervisord启动supervisord -c /etc/supervisord.conf                    #启动supervisord进程,我们在配置文件中设置了 autostart=true 参数,在supervisord启动的时候 tomcat也随之启动ps -ef|grep java                                        #查看tomcat是否启动 

程序管理

supervisorctl status tomcat                             #tomcat状态supervisorctl stop tomcat                               #停止tomcatsupervisorctl start tomcat                              #启动tomcatsupervisorctl restart tomcat                            #重启tomcatsupervisorctl reoload tomcat                            #重仔tomcat
Redis被Supervisor管理

redis默认不在配置文件中添加 daemonize yes 参数则是前台启动的,所以也可以被我们的的Supervisor所管理 redis配置文件如下:

cat redis6001.confport 6001bind 192.168.31.230protected-mode yespidfile "/usr/local/redis/run/redis6001.pid"loglevel noticelogfile "/usr/local/redis/logs/redis6001.log"save 900 1stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum  yesdbfilename dump.rdbdir "/usr/local/redis/data/rdb/"timeout 0tcp-keepalive 300

编写redis被Supervisor管理的案例

vim /etc/supervisord.d/redis.conf[program:redis]directory=/usr/local/rediscommand=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis6001.confautostart=truestartsecs=10autorestart=truestartretries=3user=rootpriority=999stopsignal=INTredirect_stderr=truestdout_logfile_maxbytes=200MBstdout_logfile_backups = 100stdout_logfile=/usr/local/redis/logs/redis6001.logstopasgroup=falsekillasgroup=false

使用super启动redis

#关闭tomcatsupervisorctl stop tomcattomcat: stopped#杀掉supervisordps -ef|grep supervisordroot     26927     1  0 10:47 ?        00:00:00 /usr/bin/python /bin/supervisord -c /etc/supervisord.confroot     27549 27402  0 11:07 pts/2    00:00:00 grep --color=auto superkill -9 26927#重新启动supervisord使其重新加载配置文件,supervisord默认会把redis和tomcat都拉起来supervisord -c /etc/supervisord.conf

程序管理

supervisorctl status redis                              #redis状态supervisorctl stop redis                                #停止redissupervisorctl start redis                               #启动redissupervisorctl restart reids                             #重启redissupervisorctl reoload redis                             #重载redis

程序管理

程序管理

supervisorctl status all                            #查看所有进程状态supervisorctl stop   all                            #停止所有进程supervisorctl start  all                            #启动所有进程supervisorctl restart all                           #重启所有进程supervisorctl reoload all                           #重载所有进程

Supervisord开启启动配置

vim /usr/lib/systemd/system/supervisord.service[Unit]Description=Process Monitoring and Control DaemonAfter=rc-local.service nss-user-lookup.target[Service]Type=forkingExecStart=/usr/bin/supervisord -c /etc/supervisord.conf[Install]WantedBy=multi-user.target
systemctl enable supervisordsystemctl is-enabled supervisord

以上就是良许教程网为各位朋友分享的Linux进程管理工具 Supervisor详解。 以上就是良许教程网为各位朋友分享的Linux相关知识。

针对小缺陷目标:在YOLOv11中引入小目标检测层 摘要: 针对YOLOv11在工业检测中漏检微小目标(如焊点气泡)的问题,研究发现深层特征下采样导致小目标信息丢失。通过在YOLOv11中增加P2检测层(4倍下采样)并融合浅层高分辨率特征,可显著提升小目标召回率。关键优化包括:调整模型结构、谨慎设计数据增强策略(减少MixUp、增加小目标粘贴)、重新分配损失权重(提升P2层权重)、优化推理速度(动态分辨率、通道裁剪)。同时强调数据质量的重要性,建议根据具体场景特性(目标尺寸、分布)定制方案,而非盲目调整模型。 阅读详情

相关推荐

Power BI应用案例:淘宝用户行为分析实战

一、案例背景 基于千万级的淘宝用户的使用记录,对淘宝用户的行为进行分析,具体指标包括:日PV、日UV、小时PV、小时UV、不同用户行为的PV、用户购买次数分布、用户购买频次分布、活跃用户消费情况等。通过本案例,可以基本看看Power BI都能分析达到怎么样的效果。 二、数据来源及结构 阿里天池官方发布的1万用户在2014年双十二期间的行为记录,数据量达1200万+。 数据下载地址:...

灰哥数据智能的专栏 1万+

supervisor管理tomcat

使用 supervisord 监控管理的进程必须以 nodaemon 启动,而 tomcat 的 startup.sh 脚本是daemon方式的,如果不做修改的话,supervisord 会一直报错。  办法是:  一.  在 startup.sh 的最后的 exec "$PRGDIR"/"$EXECUTABLE" start "$@" 改为 exec "$PRGDIR"/"$EXEC...

混沌初开 2681

域格4G网优模块获取

1、获取当前小区信息 接口说明 该命令用于获取当前小区信息。 语法结构 命令类型 格式 返回结果 Execute AT+SCELLINFO +SCELLINFO: <cellMode>,<mcc>,<mnc>,<lac>,<cellId>,<afrcn>,<cpi>,<rxLevel>

自由的幻想 2463

在使用supervisord 管理tomcat时遇到的小问题

使用 supervisord  监控管理的进程必须以 nodaemon 启动,而 tomcat 的 startup.sh 脚本是daemon方式的,如果不做修改的话,supervisord 会一直报错,那就没法玩了。办法是:在 startup.sh 的最后的exec "$PRGDIR"/"$EXECUTABLE" start "$@" 改为exec "$PRGDIR"/"$EXECUTABLE" 

美味小鱼的杂货铺 3503

CoaXPress FMC子卡:高速图像采集与FPGA原型开发实战指南

在机器视觉和工业检测领域,高速、可靠的数据传输是核心需求。CoaXPress(CXP)协议作为一种基于同轴电缆的高速接口标准,通过其高带宽、长距离传输和低延迟的特性,有效解决了传统接口在确定性实时传输方面的短板。其技术价值在于为海量图像数据提供了稳定、高效的物理层和数据链路层解决方案,广泛应用于半导体检测、医疗成像等对吞吐量有极致要求的场景。要实现CXP系统的快速原型验证,集成了高速SerDes接口和时钟管理的FMC子卡与FPGA开发板的组合成为关键。这种平台将复杂的硬件设计封装,让开发者能聚焦于图像处理算

weixin_31815843的博客 278

基于Dify与DeepSeek构建中医智能问答工作流:从知识库到精准处方

本文详细介绍了如何利用Dify与DeepSeek构建中医智能问答工作流,实现从知识库构建到精准处方的全流程。通过模型编排和知识检索技术,系统能够结合中医辨证思维与AI推理能力,为基层医师、学生和爱好者提供结构化诊疗建议。文章重点分享了知识库选材、症状标准化处理、智能检索与辨证推理等核心环节的实战经验。

weixin_29062255的博客 251

springBoot配置

目录1、application.yml配置文件优先级 1、application.yml配置文件优先级 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201026034946141.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0E1ODY3Nw==,size_16,color_FFFFFF,t_70#pi

A58677的博客 450

机器人轨迹规划——梯形速度轨迹(超详细)

机器人轨迹 这一系列轨迹教程将主要包括以下内容: 点到点轨迹(P2P) 五次多项式插值轨迹 三次多项式插值轨迹 梯形速度曲线轨迹 双S形速度曲线轨迹 多个自由度轨迹的时间同步 在线轨迹规划 多项式在线轨迹规划 梯形在线轨迹规划 双S形在线轨迹规划 非线性实时轨迹滤波 多点轨迹(Multi-point) 三次样条曲线(cubic spline) 贝赛尔曲线(Bezier Curve) B样条曲线(BSpline) 时间最优轨迹 三次样条时间最优轨迹 任意路径下的时间最优轨迹 时间

出门搔白首,若负平生志 1万+

Linux使用教程:Systemd系统级管理 + Supervisor应用守护实战指南

还在为服务崩溃发愁?一文读懂Systemd的系统级资源控制与Supervisor的进程守护机制,通过真实案例演示如何快速配置、调试和优化,让你的应用7×24小时稳定运行

weixin_39787913的博客 754

js逆向实战:爬取淘宝男装商品

本文介绍了一个淘宝商品数据爬取程序的技术实现方案。该程序通过分析淘宝H5页面接口,实现了商品名称、价格、销量等关键信息的抓取,并支持图片下载功能。核心内容包括:1. 使用Request库发送HTTP请求获取数据;2. 通过逆向分析淘宝的签名算法(MD5加密)生成合法请求;3. 解析JSON数据并提取商品信息;4. 处理分页参数实现多页数据爬取;5. 将数据保存为CSV文件并下载商品图片。程序还实现了反爬虫绕过、错误处理、文件管理等辅助功能,完整展示了从数据采集到存储的全过程。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 1573

02-Redis 核心特性与数据结构详解:揭秘高性能的技术内核

本文深度拆解 Redis 高性能的技术内核:揭秘其凭“内存存储 + C 语言开发” 实现微秒级延迟、10 万 + QPS 的性能优势;详解 5 种基础数据类型(String/Hash 等)与 4 种扩展数据类型(Stream/Geospatial 等)的特性及场景;还介绍多语言支持、RDB/AOF 持久化、主从复制 / 哨兵 / 集群等高可用方案,助读者掌握 Redis 技术核心与实践逻辑。

蜗牛老师,专注编程领域 996

详解 Linux 环境下进程管理工具 Supervisor

点击上方“杰哥的IT之旅”,选择“设为星标”干货、福利第一时间送达!作者 | 阿东来源 | 杰哥的IT之旅 (ID:Jake_Internet)转载请联系授权(微信ID...

JackTian 1091

AUTOSAR AP——SM模块

对AUTOSAR AP中状态管理模块SM,从模块定义、总结等多方面进行了介绍。

weixin_43627682的博客 284

Linux进程管理工具 Supervisor详解_supervisor core signal

supervisord -c /etc/supervisord.conf #启动supervisord进程,我们在配置文件中设置了 autostart=true 参数,在supervisord启动的时候 tomcat也随之启动。使用supervisord管理启动后,当你使用/usr/local/tomcat/shutdown.sh或者kill $PID的时候,supervisord都会认为是意外关闭,会自动再次把进程拉起,除非是使用supervisord命令关闭。

2401_84247726的博客 1402

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Linux 进程管理工具 Supervisor 详解

如果想一起交流请加我微信号: -xiaou- 加后发送 csdn, 拉你进一个无广告无推销的技术交流群.

m0_37373396的博客 1189

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

linux多进程ncurses,Linux进程管理工具 Supervisor详解

Supervisor安装与配置(linux/unix进程管理工具) Supervisor(因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以CentOS7.6,Python2.7.5版本环境下,介绍Supervisor的安装与配置步聚:实验环境系统平台cat /etc/redhat-releaseCentOS Linux release 7...

weixin_28753647的博客 172

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Linux进程管理工具Supervisor详解和实战

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

最美dee时光的博客 1444

Linux进程管理工具Supervisor详解与实战

进程管理是Linux系统运维的核心技能,涉及进程监控、资源分配和自动化管理。Linux提供了ps、top等原生工具,而Supervisor作为第三方进程管理工具,通过守护进程机制实现进程自动重启、集中管理和日志收集。其C/S架构包含supervisord守护进程和supervisorctl控制工具,支持事件监听和自动恢复。在Python技术栈中,Supervisor因其配置简单、支持虚拟环境管理而广受欢迎,适用于Web服务、后台任务等场景。结合Cesi可实现多服务器集群管理,与Prometheus等监控系统

weixin_34318326的博客 486

linux实验五进程管理命令_Linux进程管理工具 Supervisor详解

Supervisor安装与配置(linux/unix进程管理工具) Supervisor(http://supervisord.org)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervi...

weixin_39622562的博客 105

c++ 服务 以当前用户拉起进程_Linux进程管理工具 Supervisor详解

Supervisor安装与配置(linux/unix进程管理工具) Supervisor(Supervisor: A Process Control System)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀...

weixin_34898320的博客 482

python 进程管理工具_Linux进程管理工具 Supervisor详解

Supervisor安装与配置(linux/unix进程管理工具) Supervisor(Supervisor: A Process Control System)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀...

weixin_39794213的博客 246

Linux下不可不知的进程管理神器Supervisor实战详解

hurricane_zy的专栏 130

web linux进程管理,详解Supervisor安装与配置(Linux/Unix进程管理工具)

Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,...

weixin_40004057的博客 276
上一篇: 如何设置Linux系统开机自动运行脚本
下一篇: Linux进程管理工具 Supervisor详解
码农在线QY
博客等级 码龄6年 11粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值