Python Unix服务库
我有一个命令行的Python应用程序,它像个服务一样工作——也就是说,它会等待连接,并在被请求时执行一些操作,就像一个网络服务器。为了处理从终端分离、创建子进程等问题,有一个叫做python-daemon
的库,但我想更进一步,让程序能做到以下几点:
- 知道自己是否已经在运行(通过检查PID文件)
- 当用'启动'选项调用时,如果还没在运行,就启动这个服务;如果已经在运行,就告诉你现有服务的PID并退出。
- 当用'停止'选项调用时,如果服务在运行,就结束它,并清理PID文件。
- 当用'重启'选项调用时,先执行'停止',再执行'启动'
- 当用'状态'选项调用时,显示正在运行的服务的PID,如果没有在运行就什么都不显示。
如果这看起来像是标准的Unix服务——那正是我想要的。有没有Python库可以实现这样的功能?