Python:如何在Popen打开子进程结束时收到通知

时间:2010-08-26 03:08:21

标签: python popen

我正在使用Popen运行命令,但我不知道如何编写一个命令完成后调用的回调。有什么想法吗?

感谢。 滨

2 个答案:

答案 0 :(得分:2)

您可以致电communicate()

 p = subprocess.Popen('find . -name "*.txt"', stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 stdout, stderr = p.communicate()

您也可以调用wait(),但如果子进程填充其输出缓冲区,这可能会导致问题。

答案 1 :(得分:1)

您可以使用Popen对象的p.poll()方法。

http://docs.python.org/library/subprocess.html#subprocess.Popen.poll