位置: 编程技术 - 正文

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()的用法)

  • 增值税的账务处理办法
  • 特定减免税货物的通关程序为
  • 建筑业挂靠企业所得税如何收取
  • 企业减少注册资金需要缴税吗
  • 实收资本在利润表中怎么体现出来
  • 可以自己制作的商品
  • 分公司是独立核算还是非独立核算
  • 非贸税务备案
  • 土地转让契税税率2020税率表
  • 营改增后甲供材如何扣除
  • 办公室零食采购台账
  • 收到理财产品收益分录
  • 商业折扣如何开票
  • 厂房出租税收分类
  • 增值税税控系统技术维护费怎么抵扣
  • 股权转让 分期付款
  • 非独立核算分公司怎么报税
  • 增值税专用发票可以开电子发票吗
  • 跨季度的发票怎么冲销
  • 上海电商行业怎么样
  • 营改增后固定资产入账
  • 可以自行设计的软件
  • 保险公司联合举办活动
  • 汇算清缴涉及到哪些科目的调整
  • 公司的招标代理费计入什么科目
  • 金融企业贷款损失准备金
  • 基本社会保障性缴款包括什么
  • 房地产商铺增值税税率是多少
  • 暂估入账冲回
  • 华为鸿蒙系统如何刷机
  • 职工食堂的费用可以抵税吗
  • qtzgacer.exe - qtzgacer进程是什么文件 .作用是什么
  • uniapp获取input的值
  • 会计科目暂存款是什么意思
  • php递归实现1到100的和
  • 收到专利补贴的分录
  • ant design pro项目构建纯净版
  • 工程物资已到发票怎么开
  • 建信信托介绍
  • css获取id
  • bert模型能做什么
  • jdbc连接mysql数据库不成功
  • react usereducer
  • 投资性房地产抵债差额计入
  • 会计分录结转进项怎么算
  • vue实现回车登录
  • mysql乱码产生原因
  • 总结帝国cms内容是什么
  • 看望员工现金属于什么费用
  • 发票已入账但未认证的进项税额
  • 差旅费可以抵扣嘛
  • 注销小规模财务报表怎么办
  • sql server索引怎么用
  • 价外费用中的返利是什么
  • 车辆购置税如何计算器
  • 企业收到政府补助金80 000元,存入银行
  • 事业单位的服务期
  • 顺风车没有发票是否合法
  • 发票已经认证是什么意思
  • 红字信息表状态b900077
  • mysql数据库类型有哪些?如何选择合适的数据类型
  • win7系统分辨率调错了黑屏
  • win7每次开机选系统
  • Vsftpd+tcp_wrappers控制主机和用户访问
  • win8怎么看电脑wifi密码
  • bootstrap table sum总数量统计实现方法
  • 月经其间可以吃消摇丸吗
  • 特征提取技术
  • 深入解析java编译器:源码剖析与实例详解
  • jquery实现表格隔行换色
  • jQuery dataTables与jQuery UI 对话框dialog的使用教程
  • 支付境外公司服务费需要缴纳哪些税费
  • 株洲购房契税减半流程查询
  • 防伪税控维护费普通发票怎么申报
  • 放管服改革存在的不足
  • 湖北省电子税务局登录入口
  • 徐州房产过户手续流程
  • 国税总局北京税务局
  • 汉中税务大厅电话是多少
  • 千兆交换机涨价
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设