Python中守护进程的工作实现

Python中守护进程的工作实现,python,daemon,Python,Daemon,有人知道使用python的守护进程的一个运行良好且文档完整的实现吗?如果您知道符合这两个要求的项目,请在此处发布链接。我可以想到三个选项- 制作一个调用脚本的cron作业。Cron是GNU/Linux守护进程的通用名称,它根据您设置的时间表定期启动脚本。您可以将脚本添加到crontab中,或者将指向它的符号链接放到一个特殊目录中,守护进程将在后台处理启动它的任务。你可以在维基百科上阅读更多。有各种不同的cron守护进程,但是您的GNU/Linux系统应该已经安装了它 Pythonic方法(例如,

有人知道使用python的守护进程的一个运行良好且文档完整的实现吗?如果您知道符合这两个要求的项目,请在此处发布链接。

我可以想到三个选项-

  • 制作一个调用脚本的cron作业。Cron是GNU/Linux守护进程的通用名称,它根据您设置的时间表定期启动脚本。您可以将脚本添加到crontab中,或者将指向它的符号链接放到一个特殊目录中,守护进程将在后台处理启动它的任务。你可以在维基百科上阅读更多。有各种不同的cron守护进程,但是您的GNU/Linux系统应该已经安装了它
  • Pythonic方法(例如,一个库)使脚本能够对自身进行后台监控。是的,它将需要一个简单的事件循环(您的事件是定时器触发的,可能是由sleep函数提供的)。以下是我推荐和使用的-
  • 使用python
    多处理
    模块。在这个实现中隐藏了尝试分叉流程等的本质。它很整洁
  • 我不推荐2或3英尺,因为事实上你在重复cron的功能。Linux系统范例是让多个简单工具交互并解决您的问题。除非有其他原因需要创建守护进程(除了定期触发),否则请选择其他方法


    此外,如果将daemonize与循环一起使用,并且发生了崩溃,请确保您拥有有助于调试的日志。也要想办法让剧本重新开始。如果脚本被添加为一个CRON作业,它将在您保存的时间间隙中再次触发。

    < P>如果您只想运行守护进程,请考虑一个自身控制和管理守护进程的守护进程。
    如果您想查看其本质,可以查看或查看对此的部分响应。

    查看此链接以了解双叉守护程序:


    代码是可读的,并且有很好的文档记录。您想看看W.Richard的《UNix环境中的高级编程》一书的第13章,了解有关UNix守护进程的详细信息。

    我一直在尝试第2章,但没有成功。就像一旦守护进程自身分叉,我就不能再引用我的django项目了。认为这是一个路径问题。看到我给你的链接中的代码示例了吗?这对我来说很好。是的,我遵守了。下载了他的daemon.py,将其子类化。尝试导入django项目时失败。“两个选项”分别编号为“1”、“2”和“3”。这张图片怎么了?@s.Lott从2开始,还有一个选项:)我想这就像买2送1;)env是ubuntu 10.10,python 2.6