守护进程和supervisor

Linux supervisor 守护进程的安装配置 1.安装supervisor yum install -y supervisor 2.配置supervisor 配置路径 # 主配置路径 /etc/supervisord.conf #运行程序配置文件夹 /etc/supervisord.d/ 主配置文件里的内容 [unix_http_server] file=/etc/supervisord.d/supervisor.sock ; the path to the socket file [supervisord] logfile=/etc/s 阅读详情

守护进程和supervisor


前言

接触守护进程已经很久了,但是在工作中有时候却经常忘记它。这次是在需要后台跑一个十几万的数据处理工作,耗时较长的时候,习以为常的通过&将脚本放到后台去执行,将标准输出和错误输出重定向到日志文件。然后干其他的事情,却发现进程莫名奇妙的死掉,即使已经在所有可能出现异常的地方都比较注意,然后在合适的地方加上了try except这样的异常处理。但是任何异常信息都没有打印,后来突然发现,有可能是因为仅仅是通过&后台去跑,但是却并没有让该处理进程成为守护进程脱离终端。当终端连接失败或者被使用者忘记这个终端不能关闭的时候,会导致进程被强制退出。

守护进程

守护进程和后台进程不同,不仅是表面上脱离了控制台,而是和整个会话,和进程组脱离了。这样终端的关闭就和该守护进程没有关系了。并且互不影响。

守护进程的要求一般如下:
脱离会话,脱离进程组
改变工作目录
改变权限掩码
关闭输入输出流或者重定向输入输出流
设置信号处理

一个python的守护进程

supervisor

supervisor是python的一个进程管理工具,它包括两个部分:supervisord和supervisorctl。supervisord是一个守护进程,然后supervisorctl是一个客户端控制程序,用来管理被控制程序的开启和关闭。

使用方法

安装好后,需要配置/etc/supervisord.conf这样一个配置文件,主要配置程序名,command、logfile、log_stdout之类的。

在终端输入supervisord,supervisord就已经以后台进程运行了,如果配置文件里面配置了程序名和command,并且设置了autostart,那么就会自动执行command

如果需要停止、关闭和重新启动程序,直接supervisorctl start/stop/restart all/program-name

内部原理

supervisord其实是一个python的守护进程,然后内部根据配置文件通过subprocess.Popen模块执行command,并且会开启一个RPC server监听某个端口,而supervisorctl其实就是一个rpc client把一些关闭启动重启的请求发送给supervisord去真正执行。

守护进程二三事与Supervisor 守护的梦想有时候我们在运行服务端系统的时候会遇到这样的问题,希望一个进程能常驻,而不是随着会话的结束而结束,常见如Mysql、Apache等web服务都有类似的需求。这种不会随着会话退出而自己结束的进程,可以叫做守护进程(Daemon),而像Mysql、Apache这类程序,已经很贴心的提供了守护进程的配置,甚至是默认就是已守护进程的形式工作的。 其实守护进程还有更严谨的定义,这里就不展开了 但 阅读详情

相关推荐

supervisor守护进程安装与常用配置方法

1:安装 Supervisor 创建日志文件夹: sudo mkdir -p /var/log/supervisor 执行安装命令:sudo yum install supervisor 2:配置环境变量 sudo vim /usr/lib/systemd/system/supervisord.service 写入如下内容: [Unit] Description=Process Monitoring and Control Daemon After=rc-local.service nss-us

wester的博客 8481

Supervisor的简易用法

简介 Supervisor(http://supervisord.org/)C/S架构的进程控制系统,是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,基于linux操作系统的一款服务器管理工具,不支持Windows系统。 用以监控服务器的运行,发现问题能立即自动预警及自动重启等功能。 Supervisor类似于monit, monitsu...

weixin_45762569的博客 723

Sentinel--哨兵系列数据下载地址及流程更新【202310】

哨兵系列数据下载地址及流程更新。哨兵系列卫星作为哥白尼计划的一部分,主要目标便是对地球的观测任务。哥白尼计划由三部分组成:空间部分(哨兵系列太空任务与其他太空机构任务)、测量部分(提供海洋、大陆表面大气信息的陆基机载数据收集网络)、数据管理与全球共享。

twg666的博客 3万+

Supervisor实现进程守护

参考文章: https://www.jianshu.com/p/39b476e808d8 https://www.jianshu.com/p/0b9054b33db3 本文系统环境:centos7 PHP框架:Yii2 一、supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supe.

xdscode的博客 2174

supervisor实现进程守护

配置文件:可以放在项目根目录下的 supervisor文件夹下,每一个程序创建一个 .conf 结尾的文件,/home/your_username/project1/supervisor 是配置的路径。成功了会有以下字样:两个新的 “进程”激活了。running 表示正常运行。进程号有变化,进程已自动启动。

鲨鱼儿的博客 1659

Supervisor-守护进程工具

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

lxw1844912514的博客 964

supervisor

文章转自:http://cpper.info/2016/04/14/supervisor-usage.html在此只是当做笔记使用,不做他用     Linux进程管理工具supervisor安装及使用 1. 什么...

weixin_34055787的博客 331

linux守护进程(supervisor)的使用以及遇到的一些问题解决方法

一、安装配置 1、安装: sudo apt-get install supervisor 2、进入/etc/supervisord/conf.d/,增加项目的配置文件 配置文件案例如下: ;/etc/supervisor/conf.d/awesome.conf  [program:awesome]  command = /usr/bin/env/python3 /srv/aw...

wry_developer的博客 5666

Supervisor守护Java进程_supervisor,nobupscreen在守护进程时三者有什么区别?

我只用过 supervisor nohup ,你说的应该是 nohup 吧supervisor 是一个 python 写的守候进程,需要你写一个配置文件,然后他就会按照你的配置文件的要求,守候你的进程,比如失败了是否要重启啊,重启几次啊?失败了是否要发邮件啊,stdout stderr 都输出到哪里啊?怎么轮换日志啊,日志多大啊,运行用户是谁啊等等,还是很方便的,甚至还有一个 web 管理...

weixin_42588877的博客 592

Linux supervisor守护进程的安装使用

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

小草的博客 490

php使用pcntlsupervisor两种守护进程实现队列实时消费

需要注意的是,守护进程通常是长期运行的,因此确保在实际应用中处理任务时要注意资源占用,避免内存泄漏资源浪费。函数中,我们模拟了任务处理的耗时,并在实际应用中,你应该根据具体任务逻辑进行相应的处理。// 父进程可以继续执行其他任务或监控子进程。// 在子进程中执行的代码,业务逻辑放在子进程中处理。// 创建守护进程,并执行消费队列代码。// 从队列中取出任务,执行消费逻辑。// 父进程退出,子进程继续后台运行。// 设置子进程为新会话的首进程。// 在父进程中执行的代码。// 创建守护进程函数。

qq_20362867的博客 421

Linux之奇怪的知识---supervisor超级守护进程的意义使用方法

这里有一个特别需要注意的地方,command这里run后面必须要有空格,否则会报错。

zsk_john的技术分享专用博客 2937

Laravel Redis队列的使用 配置HorizonSupervisor守护进程

环境:lz用的是Homestead5.4.0   Laravel5.5 (一)队列的配置文件路径:config/queue.php,Laravel为我们提供了多种驱动的配置:sync, database,beanstalkd,sqs,redis。 sync是默认的驱动,选择该驱动任务会立即执行(同步),供本地使用。 附上官方文档的解释:a synchronous driver that wi...

树袋熊的博客 8360

linux守护进程 nginx,使用Nginx Supervisor在Linux服务器上部署Tornado

Nginx 安装: sudo apt-get install nginxNginx 安装后用浏览器进入127.0.0.1就可以看到nginx的欢迎页了nginx 常用命令sudo service nginx start 启动nginxsudo service nginx stop 停止nginxsudo service nginx restart 重启nginxsudo service ngin...

weixin_36284522的博客 250

php守护进程composer,thinkphp+queue+supervisor队列消息进程守护

thinkphp5.1.36+queue2.01.thinkhphp安装queue扩展我使用的是composer安装(composer安装地址:https://pkg.phpcomposer.com)直接在项目根目录运行 composer require topthink/think-queue2.配置queue安装完后会在config文件下生成一个queue.php文件,配置项如下:(使用的是r...

weixin_42311301的博客 1021

supervisor使用,配置安装(包括监控守护进程httpd,keepalived)

yum -y install supervisor(如果安装不成功,需要更新源,yum -y install epel) 或者: wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python easy_install supervisor 配置介绍[program:xx]...

weixin_30627381的博客 446

linux 安装守护进程supervisor

2、有很多添加守护进程的方法,下面介绍一种最好用的一种,将每个进程的配置文件单独拆分,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名。supervisorctl update #根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。supervisorctl reload #载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。注意:显式用stop停止掉的进程,用reload或者update都不会自动重启。

zhang804633234的专栏 1364

守护进程supervisor安装

参考链接 ##安装 1、安装Python包管理工具(easy_install) yum install python-setuptools 2、安装Supervisor easy_install supervisor ##配置文件 通过运行echo_supervisord_conf程序生成supervisor的初始化配置文件,如下所示: mkdir /etc/supervisor echo_supervisord_conf > /etc/supervisor/supervisord.conf

U.R.M.L 301

ubuntu 开机自启动 守护进程 supervisor

当我们写好程序时,有时希望这个程序,一开机就能运行; 当程序意外被终止时(内部 或 外设设备出了问题),希望程序能自动重新运行。 目录 解决方案: 其他一些配置,通过这个例子讲解 补充说明: 解决方案: 使用 守护进程 supervisor ,需要先安装一下: 1)安装 可以使用一下命令: sudo apt-get install supervisor 安装成功...

黎国溥 5063

将机器人urdf模型转换为Mujoco环境下的mjcf模型

在使用gym环境进行人形模型站立训练的过程中,我想要将之前ros环境下的机器人urdf模型导入到mujoco环境下,这时候就需要将urdf模型转换为mujoco专用的mjcf模型。-AzureLoong.urdf是机器人模型(我这里使用青龙的模型);--custom_robot.xml是转换完成之后的机器人模型的名字格式;包要求 Python 版本必须是 3.11 或更高),保证自己的其他训练环境依赖不被干扰。首先将meshes文件迁移到需要输出的目录下,然后再运行转换命令。最后就可以成功输出了。

weixin_44334573的博客 3670

淘宝用户行为数据集

3182257条数据,可做推荐系统,数据分析它包含字段(id, uid,age,gender,item_id, behavior_type, item_category, date, province)//1.浏览、2.收藏、3.加购物车 4.购买7.统计各省的前十热门关注产品(浏览+收藏+添加购物车+购买总量最多前10的产品)8.统计各省的前十热门购买产品(销售最多前10的产品)9.统计各省销售最好的产品类别前10(销售最多前10的产品类别)10.统计各省男女用户数量(gender 0:男 1:女 2:未知)

上一篇: Hadoop之JobTracker源码分析
下一篇: Apache mina学习
pengchengcrazy
博客等级 码龄15年 2粉丝 25原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值