考虑到相当奇怪的要求(一个无需使用大量cpu就能永久运行的进程),它相当紧凑:
import threading
dummy_event = threading.Event()
dummy_event.wait()
…但是,我担心我会屈从于解决您的Y而不是您的X的诱惑。
除此之外,如果您的平台不提供该threading
模块,则无法使用此功能。如果尝试替换dummy_threading
模块,请dummy_event.wait()
立即返回。
如果只是为了使其子流程保持父流程的运行,则可以wait()
在Popen对象上使用方法,或者join()
在Process
对象上使用方法。这两种方法都将无限期阻塞,直到子流程结束。如果您正在使用其他子流程API,那么肯定会有等效的功能可用。如果不是,请获取过程的PID并使用os.waitpid()
。