Given the rather bizarre requirements (a process that goes forever without using much CPU), this is reasonably compact:
import threading
dummy_event = threading.Event()
dummy_event.wait()
...however, I fear I am succumbing to the temptation to solve your Y and not your X.
Besides which, this won't work if your platform doesn't provide the threading
module. If you try to substitute the dummy_threading
module, dummy_event.wait()
returns immediately.
Update: if you are just keeping a parent process going for the sake of its subprocesses, you can use the wait()
method on Popen objects, or the join()
method on Process
objects. Both of these methods will block indefinitely until the subprocess ends. If you're using some other subprocess API, there's bound to be equivalent functionality available. If not, get the PID of the process and use os.waitpid()
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…