Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在子进程退出并关闭管道时获得通知?_Python_Subprocess_Pipe - Fatal编程技术网

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

Python 如何在子进程退出并关闭管道时获得通知?,python,subprocess,pipe,Python,Subprocess,Pipe,这是我之前的后续行动: 假设我有一个Python程序,它用subprocess.Popen派生并执行另一个Python程序 我想在fork之前创建一个管道,并在子对象退出时关闭管道时收到通知。当然,我不想同步等待管道。这在Python中可行吗?您可以使用子流程轮询 尽管你必须时不时地进行测试,看看它是否完成了 呼叫程序: import subprocess import time c=subprocess.Popen(['python', 'called.py'], stdout=subproc

这是我之前的后续行动:

假设我有一个Python程序,它用subprocess.Popen派生并执行另一个Python程序

我想在fork之前创建一个管道,并在子对象退出时关闭管道时收到通知。当然,我不想同步等待管道。这在Python中可行吗?

您可以使用子流程轮询 尽管你必须时不时地进行测试,看看它是否完成了

呼叫程序:

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)