位置: 编程技术 - 正文

python daemon守护进程实现(python守护线程与非守护线程)

编辑:rootadmin

推荐整理分享python daemon守护进程实现(python守护线程与非守护线程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python 守护进程模块,python守护进程作用,python daemon模块,python daemon模块,python守护进程作用,python守护进程作用,python进程守护,python守护进程作用,内容如对您有帮助,希望把文章链接给更多的朋友!

假如写一段服务端程序,如果ctrl+c退出或者关闭终端,那么服务端程序就会退出,于是就想着让这个程序成为守护进程,像httpd一样,一直在后端运行,不会受终端影响。守护进程英文为daemon,像httpd,mysqld,最后一个字母d其实就是表示daemon的意思。

守护进程的编写步骤:

1、fork子进程,然后父进程退出,此时子进程会被init进程接管。2、修改子进程的工作目录,创建新进程组合新会话,修改umask。3、子进程再次fork一个进程,这个进程可以称为孙子进程,然后子进程退出。4、重定向孙子进程的标准输入流,标准输出流,标准错误到/dev/null完成上面的4个步骤,那么最终的孙子进程就称为守护进程,先看下代码,后面分析下步骤的原因。

python daemon守护进程实现(python守护线程与非守护线程)

1、fork子进程,父进程退出通常,我们执行服务端程序的时候都会通过终端连接到服务器,成功连接后会加载shell环境,终端盒shell都是进程,shell进程是终端进程的子进程,通过ps命令可以很容易的查看到,在这个shell环境下一开始执行的程序都是shell进程的子进程,自然会受到shell进程的影响,在程序里fork子进程后,父进程退出,对于shell进程来说,这个父进程就算执行完毕,而产生的子进程会被init进程接管,从而也就脱离了终端控制。2.修改子进程的工作目录子进程在创建的时候会继承父进程的工作目录,如果执行的程序是在U盘里面,就会导致U盘不能卸载。3.创建新会话使用setsid后,子进程就会成为新会话的首进程,子进程会成为新进程组的组长进程,子进程没有控制终端。4.修改umask由于umask会屏蔽权限,所有设定为0,这样可以避免读写文件时碰到权限问题5.fork孙子进程,子进程退出经过上面几个步骤后,子进程会成为新的进程组老大,可以重新申请打开终端,为了避免这个问题,fork孙子进程处理,6.重定向孙子进程的标准输入流,标准输出流,标准错误流到/dev/null因为是守护进程,本身已经脱离了终端,那么标准输入流,标准输入流,标准错误流就没有什么意义了,所以都转向到/dev/null,就是丢弃的意思

我们来运行一个这个程序,看看效果

从上图可以看出这个脚本程序已经放入后台,只能使用killall方式来结束掉,接下来我们去看下记录的日志

python使用电子邮件模块smtplib的方法 Smptp类定义:smtplib.SMTP(host[,port[,local_hostname[,,timeout]]]),作为SMTP的构造函数,功能是与smtp服务器建立连接,在连接成功后,就可以向服务器发送相关请求,

python 简单的多线程链接实现代码 服务端:#!/usr/bin/envimportSocketServerclassmyMonitorHandler(SocketServer.BaseRequestHandler):defhandle(self):self.data=self.request.recv().strip()print"From%s:%s"%(self.client_address,self.d

python目录与文件名操作例子 1、操作目录与文件名#!/usr/bin/envpython#-*-coding:utf-8-*-importos,reimportshutilimporttime用listdir搜索defsearch_OFD_old(my_pattern,diretory):try:names=os.listdir(diretory)exceptos.error:

标签: python守护线程与非守护线程

本文链接地址:https://www.jiuchutong.com/biancheng/385367.html 转载请保留说明!

上一篇:Python+微信接口实现运维报警(python和微信交互)

下一篇:python使用电子邮件模块smtplib的方法(python写邮箱)

  • 增值税月末结转还是年末结转
  • 申请退还增量留抵税额的条件包括
  • 什么是明细分类账簿
  • 自然人税收管理系统扣缴客户端
  • 国际船舶代理是什么意思
  • 差旅费报销单属于什么凭证?
  • 上月未计提税金,下月怎么做分录
  • 事业单位未取得工资
  • 报关单金额大于合同金额
  • 办公室租赁合同需要交哪些税额?
  • 工厂出租厂房税率
  • 税务小规模定律是什么意思
  • 资金账簿印花税最新政策2023
  • 营改增后,企业购进自用小轿车增值税
  • 如何区分劳务派遣和劳动合同
  • 企业工资和社保缴费基数
  • 小规模付增值税怎么做账
  • 收到违反合同的违约金
  • 现金流量表与资产负债表不符
  • 台式电脑开不了机怎么办 屏幕黑屏
  • 运行项目报错Couldn't import Django
  • 经营租赁与融资租赁的含义
  • win11系统未激活
  • 企业支付宝收到钱到哪里
  • keyemain.exe是什么进程
  • 闲置私家车出租APP
  • vue引入高德地图绘制多边形,编辑多边形
  • centos7完整版安装
  • 印克斯湖国家公园中的德克萨斯矢车菊,德克萨斯州 (© Inge Johnsson/Alamy)
  • 什么是技术服务工程师
  • 如何知道是干皮还是油皮
  • 如何进行iframe框架切换
  • Delete `␍` 最简单最有效的解决方法和解释(VScode)
  • php隐藏跳转
  • 个体工商户和个人独资企业的区别
  • 回购股票 会计处理
  • wordpress怎么安装插件
  • 帝国cms8.0
  • 持有至到期投资属于什么科目
  • 退还押金的会计分录怎么写
  • 企业残保金该什么时间交
  • access数据库如何
  • 现金存银行会有记录吗
  • 制造企业预提短期借款利息的会计科目处理
  • 其他应收款主要是什么
  • 房屋租赁水电费计入什么科目
  • 混合销售举例说明
  • 员工食堂买菜怎么写分录
  • 企业接受股东划入资产的处理
  • 子公司注销如何注销
  • 失控发票补交上年所得税
  • 给员工发工资发多少合适?
  • 离职员工未休完的年假如何支付
  • 单位内部部门之间人员调整
  • 进项税额抵扣不完要做分录吗
  • 其他应收款减值损失可以转回吗
  • 雨林木风 u盘
  • Xp系统的桌面文件在哪里
  • centos7搭建nfs详细步骤
  • 如何使用u盘安装软件
  • 帮我打开双击锁屏
  • windows防火墙无法更改某些设置错误代码0×80070422
  • mac修改dns设置
  • linux tomcat怎么启动服务
  • 信号监控设备是什么
  • Node.js中的事件循环是什么
  • javascript 拖拽
  • javascript缓存
  • js实现物体移动
  • jQuery给div,Span, a ,button, radio 赋值与取值
  • python访问oracle
  • 使用权资产
  • 北京市国家税务局发票查询平台
  • 湖北农信换手机登录不了
  • 个体工商户票种核定金额应该填多少
  • 公寓土地增值税30%-60%阶梯税
  • 办理增值税一般纳税人所需资料
  • 我们是小规模纳税人,有个人所得税代扣代缴的业务吗
  • 出口退税函调不予退税的后果
  • 富士康走了,京东去哪了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设