专栏名称: Python程序员
最专业的Python社区,有每日推送,免费电子书,真人辅导,资源下载,各类工具。我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动
目录
相关文章推荐
Python中文社区  ·  用 LSTM 机器学习模型预测股票价格并自动下单 ·  2 天前  
Python爱好者社区  ·  数据可视化学习者的福音!“对比Excel”畅 ... ·  5 天前  
Python爱好者社区  ·  100个即插即用缝合模块.PDF ·  6 天前  
Python爱好者社区  ·  《大语言模型》教材发布,开源! ·  1 周前  
Python中文社区  ·  牛逼!09年出生,7年编程经验,15岁初中生 ... ·  1 周前  
51好读  ›  专栏  ›  Python程序员

让Python脚本成为守护进程

Python程序员  · 公众号  · Python  · 2017-07-19 08:10

正文

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

Python daemonizer 类

这是一个Python类,会使你的Python脚本成为守护进程,以使它可以在后台继续运行。这个类在Unix, Linux, 和OS X上运行,会创建一个PID文件,而且有标准的命令(start, stop, restart)+ 前台模式。

基于来自jejik.com的原始版本。

用法

定义一个继承Daemon的类,实现run()方法(一旦成为守护进程这个方法就会被调用。)

创建你的类的一个新对象, 指定你的PID文件存放的位置:

动作

start() - 启动守护进程(创建PID并且使之成为守护进程)。

stop() - 停止守护进程(停止子进程并移除PID)。

restart() - 先执行stop()再执行start()。

前台运行

对于调试,这个很有用。因为你可以启动一个程序而不用使它成为一个守护进程。

运行中的脚本会依赖打开的shell窗口,就像任何普通的Python脚本一样。

只需要直接调用run()方法就可以实现。

持续执行

这个run()方法只会被执行一次,因此如果你想让这个守护进程持续地工作,你可能希望使用sched模块来执行重复代码(例子)。


英文原文:https://github.com/serverdensity/python-daemon
译者:Xiaogang