位置: 编程技术 - 正文

Python守护进程和脚本单例运行详解(守护进程和普通进程)

编辑:rootadmin

推荐整理分享Python守护进程和脚本单例运行详解(守护进程和普通进程),希望有所帮助,仅作参考,欢迎阅读内容。

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

本篇文章主要介绍了Python守护进程和脚本单例运行,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一、简介

守护进程最重要的特性是后台运行;它必须与其运行前的环境隔离开来,这些环境包括未关闭的文件描述符、控制终端、会话和进程组、工作目录以及文件创建掩码等;它可以在系统启动时从启动脚本/etc/rc.d中启动,可以由inetd守护进程启动,也可以有作业规划进程crond启动,还可以由用户终端(通常是shell)执行。

Python有时需要保证只运行一个脚本实例,以避免数据的冲突。

二、Python守护进程

1、函数实现

可以通过命令ps -ef | grep daemon.py查看后台运行的继承,在/tmp/daemon_error.log会记录错误运行日志,在/tmp/daemon_stdout.log会记录标准输出日志。

2、类实现

运行结果:

它是当Daemon设计成一个模板,在其他文件中from daemon import Daemon,然后定义子类,重写run()方法实现自己的功能。

不足:信号处理signal.signal(signal.SIGTERM, cleanup_handler)暂时没有安装,注册程序退出时的回调函数delpid()没有被调用。

Python守护进程和脚本单例运行详解(守护进程和普通进程)

然后,再写个shell命令,加入开机启动服务,每隔2秒检测守护进程是否启动,若没有启动则启动,自动监控恢复程序。

三、python保证只能运行一个脚本实例

1、打开文件本身加锁

注意:open()参数不能使用w,否则会覆盖本身文件;pidfile必须声明为全局变量,否则局部变量生命周期结束,文件描述符会因引用计数为0被系统回收(若整个函数写在主函数中,则不需要定义成global)。

2、打开自定义文件并加锁

3、检测文件中PID

4、检测特定文件夹或文件

也可以检测某一个特定的文件,判断文件是否存在:

上述os.kill( pid, 0 )用于检测一个为pid的进程是否还活着,若该pid的进程已经停止则抛出异常,若正在运行则不发送kill信号。

5、socket监听一个特定端口

可以将该函数使用装饰器实现,便于重用(效果与上述相同):

四、总结

(1)守护进程和单脚本运行在实际应用中比较重要,方法也比较多,可选择合适的来进行修改,可以将它们做成一个单独的类或模板,然后子类化实现自定义。

(2)daemon监控进程自动恢复避免了nohup和&的使用,并配合shell脚本可以省去很多不定时启动挂掉服务器的麻烦。

标签: 守护进程和普通进程

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

上一篇:Python 基础知识之字符串处理(python 基础 详细)

下一篇:Python中的sort()方法使用基础教程(python中sort()的用法)

  • 财税通财务软件怎么下载
  • 电子普通发票和纸质普通发票一样吗
  • 税务问答网站
  • 缴纳以前年度所得税怎么做分录
  • 填专项扣除对个人还是公司受益
  • 微信支付宝收入计入科目
  • 待转销项税额明细科目核算一般纳税人
  • 生产企业出口转内销增值税申报
  • 直接计入当期损益的利得和损失,是指( )的利得或损失
  • 发票领用簿怎么领发票
  • 去年多计提了费用今年怎么办
  • 无形资产原值变动账务处理
  • 收到假钱的会计分录
  • 企业无力支付票据
  • 跨年的发票可以冲红重开吗
  • 员工服装属于什么费用类型
  • 少数股东损益借方增加还是贷方增加
  • 法人可以公司账户存款吗
  • 应付账款转营业外收入需要什么条件
  • 为什么预付账款是流动资产
  • 出纳现金管理的目标与方法
  • 上月材料入库会计分录
  • 用人单位发放工资时跨行手续费应由谁支付
  • 如何实现php图片打印
  • 社保会计科目怎么做账
  • 兼职人员工资如何扣税
  • php parse_url
  • php静态变量生命周期
  • php怎么学
  • 专项用途财政性资金纳税调整明细表
  • 营改增后增值税税率
  • 建筑企业挂靠违法吗
  • 工程项目科目如何设置
  • 政府收回土地使用权免征增值税的条件
  • 使用二氧化碳灭火器时人应该站在什么位置
  • 营改增允许从销售额中扣
  • 金融机构借款利率最新规定
  • 民间非营利组织会计制度
  • 记账软件的作用
  • 水电费分割单会计分录
  • php 上传文件
  • 黄石国家公园的英文翻译
  • 假如你知道这样是什么歌
  • 《网络安全从入门到精通》
  • redis提供了对值进行运算的命令
  • 处置固定资产科目
  • 施工企业应承担的主要责任和义务
  • 退休认证在网上怎么操作
  • 国有土地租赁合同的性质
  • 收到生育津贴入什么科目
  • 投资者控股性质
  • 房产税一般在哪缴纳
  • 贷款担保费应计入什么
  • 合并报表抵消分录的基本原理
  • 收到投资款如何做账务处理
  • 开办职工食堂
  • 收到红字发票如何处理
  • 企业的源头
  • 一次性购买多张火车票
  • sql语句百度百科
  • sqlyog语句
  • mysql中间件有哪些
  • linux那些事儿
  • winsvc是什么进程
  • windows开始搜索栏
  • ubuntu每次开机都会进入grub
  • bcdedit.exe
  • 如何把旧mac上的所有内容迁移到新mac上
  • Win10如何还原输入法
  • linux在服务器领域的应用状况
  • win7系统怎么隐藏桌面
  • javascriptz
  • for语句中的++i
  • javascript中substr,substring,slice.splice的区别说明
  • python读写docx
  • jQuery插件是什么
  • 江苏税务怎么在手机上办
  • 地税的发票是什么样
  • 二手商铺买卖
  • 西北地区的沙尘暴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设