这是我之前的question:
的后续内容假设我有一个Python程序,它使用subprocess.Popen
分叉和执行另一个Python程序。
我想在fork之前创建一个管道,并在子管退出时关闭管道时收到通知。当然,我不想同步等待管道。它在Python中可行吗?
答案 0 :(得分:1)
您可以使用子流程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)