3

我有一个命令行 python 应用程序,它是一项服务 - 即它等待连接并在被询问时执行某些操作,例如 webserver。有python-daemon用于处理从终端分离、分叉等所有问题的库,但我想更进一步 - 让程序执行以下操作:

  1. 知道它是否已经在运行(通过检查 PID 文件)
  2. 当使用 'start' 选项调用它时,如果它没有运行,它应该启动守护进程,或者告诉现有的 PID 并在运行时退出。
  3. 当使用 'stop' 选项调用时,它应该杀死正在运行的实例(如果存在),并清理 PID 文件。
  4. 当使用 'restart' 选项调用时,它应该执行 'stop',然后 'start'
  5. 当使用 'status' 选项调用时,它应该显示正在运行的实例的 PID,如果它没有运行,则不显示任何内容。

如果这看起来像标准的 Unix 服务 - 这正是我想要的。是否有实现这种模式的 Python 库?

4

1 回答 1

1

我用过这个食谱。效果很好。

http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/

于 2010-12-17T00:36:01.173 回答