位置: 编程技术 - 正文

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写邮箱)

  • 进货增值税税率
  • 税务师考试各科老师推荐
  • 制造业怎么核算成本
  • 预收预付科目是否已经取消
  • 增值税发票丢失可以用复印件入账么
  • 报税盘金税盘领的发票能通用吗
  • 残疾人就业保障金申报时间
  • 商业汇票和商业本票
  • 样品销售如何记账
  • 货车的车辆购置税是多少
  • 个体工商年报怎么弄
  • 代扣代缴公积金有返还吗
  • 企业接受捐赠是营业收入吗
  • 买房报销
  • 销项负数发票如何作废
  • 建筑安装税务分类编码为多少?
  • 外贸出口企业城市排名
  • 个人所得税返还奖励财务人员做账
  • 清洁服务经营范围有哪些
  • 安装预算收入
  • 计提工资多计提,如何做冲销
  • 代扣车船税的手续有哪些
  • 企业所得税年报错了怎么更正
  • 承兑汇票章不清晰 情况说明
  • 企业的其他业务是什么
  • 多计提的费用怎么调整
  • 已预缴税款金额可以不申请退税吗
  • 合同成本对应科目
  • 研发成功的产品卖出去怎么做账
  • 融资租赁的利息可以税前扣除吗
  • windows10桌面右键没反应
  • 每月计提的工资包含社保吗
  • 预缴增值税会计处理
  • 电脑运行慢怎么清理c盘
  • macos big sur卡在
  • php怎么自学
  • 按销售收入比例分摊进项税额按月还是按年
  • 内退人员
  • 留存收益怎么计算,它属于企业的什么资金?
  • 浅谈php技术
  • 设置浏览器显示网络异常
  • 自定义修改器
  • css图片适应div
  • Asian elephants in West Bengal, India (© Avijan Saha/Minden Pictures)
  • js正则表达式删除特定字符
  • bert模型能做什么
  • 小程序项目开发流程
  • 小规模纳税人按简易计税法计税时也可以进行税额的抵扣
  • 实发工资知道如何发放吗
  • 现金收款凭证是发票吗
  • 织梦模板官网
  • 普通增值发票可以抵扣进项税吗
  • 借款可以抵货款吗
  • 所得税申报表是什么
  • 单位结余资金该如何处理
  • 企业增资会计科目
  • 建筑业清包工合同范本
  • 应交税费期初数调整
  • 质量问题举例
  • 应付账款与应付票据结合的原则
  • 股东将股权转让后是否还承担责任
  • 本年利润有余额么
  • mysql优化参数详解
  • 神墓凌云
  • nmstt.exe - nmstt是什么进程 有什么用
  • win10 右下角
  • Win10怎么添加游戏
  • jquery示例
  • nodejs示例
  • jquery上滑下滑
  • 如何用javascript
  • javascript闭包的作用
  • jQuery ajax中使用confirm,确认是否删除的简单实例
  • 个人所得税怎么换手机号绑定
  • 如何办理委托银行卡业务
  • 以划拨方式取得土地使用权的,转让房地产时
  • 免除滞纳金的条件
  • 物流运输公司进项有哪些
  • 郑州高新税务局
  • 文件印发的格式怎么设置
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设