【发布时间】:2013-11-05 05:09:27
【问题描述】:
我是守护程序的新手,我想知道如何使我的主脚本成为守护程序?
我有我的主脚本,我希望创建一个守护进程并在后台运行:
main.py
def requestData(information):
return currently_crunched_data()
while True:
crunchData()
我希望能够在循环运行时对这个守护进程使用 requestData 函数。我不太熟悉守护进程或如何将我的脚本转换为一个。
但是我猜我必须创建两个线程,一个用于我的 cruncData 循环,一个用于守护程序请求接收器,因为守护程序有自己的循环 (daemon.requestLoop())。
我目前正在研究 Pyro 来执行此操作。有谁知道我如何最终使后台运行 while 循环能够接收来自其他进程的请求(比如我想的守护进程)?
【问题讨论】:
-
我推荐使用 supervisord - 它避免了处理守护进程问题的需要。
-
这里有两个单独的问题。首先,有“我如何同时做两件事”,是的,使用后台线程是一种明显的方法,并且会起作用。然后是“我如何在 Python 中编写守护程序”,这是一个重复。所以,我将忽略第二个。
-
对不起,我已经知道如何用 Python 写一个 Daemon:doc.uh.cz/Python/Pyro-3.1/8-example.html 问题是 Daemon 本身是一个 while 循环,而我的进程是一个 while 循环。
-
是的,我正在使用 Linux,但希望有一个通用的解决方案
-
@KingofGames:很好,那么我忽略了正确的部分并回答(我希望)正确的部分。 :)
标签: python