繁体   English   中英

当子进程退出并关闭管道时如何获得通知?

[英]How to get notified when a child process exits and closes a pipe?

这是我先前的问题的后续措施:

假设我有一个Python程序,这叉子和高管与另一Python程序subprocess.Popen

我想在派生之前创建一个管道,并在孩子退出时关闭管道时得到通知。 当然,我不想同步等待管道。 它在Python中可行吗?

您可以使用子流程poll()
尽管您将不时进行测试以查看是否完成

调用程序:

import subprocess
import time
c=subprocess.Popen(['python', 'called.py'], stdout=subprocess.PIPE)
finished = False
while finished == False:
    if c.poll() != None:
        finished = True
        break
    time.sleep(1)
    print "Still working"
print "finished"

调用程序:

import time
time.sleep(15)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM