在Python中使用守护进程的实现

Rya*_*ady 6 python daemon

有没有人知道使用python的守护进程的工作和记录良好的实现?如果您知道符合这两个要求的项目,请在此处发布链接.

Sri*_*aju 4

我能想到的三个选择 -

  1. 创建一个调用您的脚本的 cron 作业。Cron 是 GNU/Linux 守护程序的通用名称,它根据您设置的时间表定期启动脚本。您将脚本添加到 crontab 中或将其符号链接放置到特殊目录中,守护程序将处理在后台启动它的工作。您可以在维基百科上阅读更多内容。有多种不同的 cron 守护进程,但您的 GNU/Linux 系统应该已经安装了它。
  2. Pythonic 方法(例如,一个库)使您的脚本能够自行守护进程。是的,它将需要一个简单的事件循环(其中您的事件是计时器触发,可能由睡眠函数提供)。这是我推荐和使用的 - Python 中的一个简单的 unix/linux 守护进程
  3. 使用 pythonmultiprocessing模块。尝试分叉进程等的实质内容隐藏在这个实现中。非常整洁。

我不会推荐 2 或 3 个,因为你实际上是在重复 cron 功能。Linux系统范式是让多个简单的工具交互并解决你的问题。除非有其他原因需要创建守护程序(除了定期触发之外),否则请选择其他方法。

另外,如果您在循环中使用 daemonize 并且发生崩溃,请确保您有可以帮助您调试的日志。还要设计一种方法让脚本重新开始。而如果将脚本添加为 cron 作业,它将在您保留的时间间隔内再次触发。