【问题标题】:Can you use python-daemon with Python 2.4?你可以在 Python 2.4 中使用 python-daemon 吗?
【发布时间】:2011-11-29 10:33:33
【问题描述】:

我正在将我的程序转换为在 Linux 上作为守护程序运行。我想使用python-daemon package 来节省重复工作。但是,我需要支持 python 2.4。

页面上给出的示例使用with 关键字,因此暗示python 2.5; context managers 也被列为从 2.5 开始支持。

我可以自己调用__enter__()__exit__() 方法吗?还是还有更多?

This question几乎回答了我的问题,但只是在最后一刻错过了。

【问题讨论】:

  • 如果你有另一个守护进程,那么supervisord 会绕过你的问题。

标签: python linux daemon


【解决方案1】:

据我从源代码中可以看出,在 Python 2.4 中使用 python-daemon 应该很容易。 (不过,我没有安装 Python 2.4 来实际尝试。)DaemonContext__enter__()__exit__() 方法本质上是 open()close() 的别名,因此相当于

with daemon.DaemonContext():
    do_main_program()

应该是

context = daemon.DaemonContext()
context.open()
try:
    do_main_program()
finally:
    context.close()

在浏览所有源代码时,我找不到任何特定于 Python 2.5 的内容。 (不过,有一些 Python 2.4 特定的构造,例如一些装饰器和 reversed(),因此它不适用于开箱即用的 Python 2.3。)

【讨论】:

  • 这就是我想知道的。谢谢!
  • @wilbo:所以它确实适用于 Python 2.4? (只是为了确保该页面的未来访问者能够真正找到问题的答案。)
  • 是的,它工作正常。如果我确实遇到任何问题,我会在这里再次发表评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-29
  • 2013-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多