如何使python脚本运行在daemon模式

这篇博客介绍了如何使用python-daemon库将Python脚本运行在daemon模式下。虽然该库文档较少,但通过Pip安装后,可以轻松创建守护进程。为了确保系统中仅有一个进程,博客提到了利用pid文件进行控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一个很好的库可以完成这一功能,可惜因为文档少所以网上例子不太多

库名:python-daemon

可以通过Pip来安装


最简单的使用方式

import daemon

with daemon.DaemonContext():
    print "your code"


当然代码块中最好放一个长时间执行并写日志到某个路径的代码,方便观察代码的执行情况


简单但是缺乏必要的控制,比如 如果我们想保证无论多次执行程序都只保证系统内只有一个改程序的进程的话就需要pid文件来控制

这时候可以使用这个库带的另一个类

DaemonRunner
import os
import time
from daemon.runner import DaemonRunner

_base_path="/tmp/"
class MyApp(object):


    stdin_path = "/dev/null"
    stdout_path = os.path.join(_base_path, "myapp.stdout")
    stderr_path =  os.path.join(_base_path, "myapp.stderr")
    pidfile_path =  os.path.join(_base_path, "myapp.pid")
    pidfile_timeout = 5

    def run(self):
        for i in range(10):
            print i
            time.sleep(5)

if __name__ == '__main__':
    run = DaemonRunner(MyApp())
    run.do_action()




例如这样
就可以通过
python test.py  start   来启动daemon进程
python test.py  stop    来停止daemon进程
并且可以通过/tmp/myapp.pid来查看进程的pid

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值