位置: 编程技术 - 正文

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

  • 政府补助是否可以抵扣税
  • 仓储服务费税率2021
  • 预缴所得税报表填错啦,年报可以修改吗
  • 清退加班费
  • 购销合同需要盖合同章吗
  • 主管盾和制单盾的区别
  • 免抵退税申报资料情况表在哪下载
  • 网吧电脑折旧率
  • 季末资产总额的计算
  • 酒店出租会议室增值税税率
  • 房地产开发企业土地增值税清算
  • 固定资产不能抵扣进项税额
  • 企业清算未分配利润不分配要交个税吗
  • 政府扶贫支出
  • 承兑汇票兑现怎么填写
  • 发票折扣有没有限制
  • 错把费用计入固定资产次月如何调账
  • 公司出售厂房的增值税允许抵扣吗
  • 免税申请怎么办理
  • 电子普通发票入账规则
  • 公司名下的车怎么报废
  • 国家税务总局公告2023年第1号
  • 购买房产,税费怎么计算
  • 维修服务费税率是多少?
  • 企业职工教育经费
  • 公司向职工借款不还怎么办理
  • 公司账上没钱股东又不出资发工资怎么办
  • 企业的其他业务是什么
  • 资本公积金转增资本属于所有者权益吗
  • 收回购货方前欠货款属于什么
  • 政府补贴的银行卡注销了会怎么样
  • 保险公司赔偿的存货自然灾害损失
  • 工会上缴40%的经费法律依据
  • 新版edge浏览器历史记录
  • 飞机票的保险费可以退吗
  • 应收账款周转天数和应收账款周转率的关系
  • 员工宿舍中介费计入什么科目
  • 开展党建系列活动
  • 分红财务做账
  • 房地产企业土地增值税清算
  • php短信验证免费接口配置
  • 合伙企业利润分配原则
  • 利息收入如何会计分录
  • php批量删除文件
  • 【机器学习】前置知识:矩阵的表示与定义 | Identity 身份矩阵 | 逆矩阵和转置 | 标量乘法
  • php批量删除文件
  • 收到预付购货款
  • 补交上年所得税怎么调表
  • 房地产转让条例最新
  • 减资如何弥补亏损
  • vscode yaml插件
  • 交易性金融资产的入账价值
  • 印花税步骤
  • 关于翡翠手镯知识
  • 出租车定额发票代码含义
  • 入股投资的钱能取出来吗
  • 普通发票的进项票怎么做分录
  • 其他业务收入怎么申报增值税
  • 库存和结存
  • 产权转移书据印花税减免政策
  • 职工薪酬费用属于什么费用
  • 公司买汽车计入什么费用
  • 什么时候用税前项目举例说明工程项目
  • 会计入职新公司
  • 总账建账要遵循的原则
  • win8无法运行exe
  • linux快速清空大日志文件
  • unix怎么切换用户
  • 手机耳机插在电脑上能说话吗
  • win8系统设置
  • 格式化不干净
  • centos如何删除用户
  • macbook新手
  • linux网络接口配置命令
  • win7文件夹怎么显示大小
  • win7系统无法更改账户名称
  • cocos lua教程
  • 用jquery
  • java模拟支付功能
  • 江苏省国税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设