Python: 如何在Popen打开的子进程结束时被通知
我正在使用Popen来运行一个命令,但我不知道怎么写一个回调函数,让它在命令执行完后被调用。有没有什么想法?
谢谢。
Bin
2 个回答
2
你可以使用 Popen 对象的 p.poll() 方法。
http://docs.python.org/library/subprocess.html#subprocess.Popen.poll
2
你可以使用 communicate()
这个方法:
p = subprocess.Popen('find . -name "*.txt"', stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
你也可以使用 wait()
,不过如果子进程的输出缓冲区满了,这可能会导致一些问题。