我正在编写一个使用bash命令执行另一个程序的python脚本。
我正在使用subprocess.Popen()
函数。但是在某些情况下,外部程序会给我一个错误并尝试无限地运行相同的注释。
如何捕获该错误并中断Popen
功能。
假设程序将其错误作为输出。
答案 0 :(得分:0)
您可以使用poll()
或communicate()
功能。一旦进程终止,这些方法将返回returncode
。只要程序正在运行,返回码为None
。
您可以尝试使用以下代码
from subprocess import Popen
process = Popen('bash your_script.sh')
while process.poll() is None:
print 'keep running'
process.terminate()