我在for循环中将程序称为subprocess.call()
然后它会执行某些操作。但是,在被调用的程序崩溃之后(不,我无法避免),python脚本终止。
代码:
with open("runtests.output", "w") as output:
for i in range(1,5):
for j in range(2,5):
subprocess.call(["runprogram", "with", "arguments"])
output.write(str(i) + str(j))
output.write(str(resource.getrusage(resource.RUSAGE_CHILDREN)))
output.write("\n")
在这种情况下,runprogram with arguments
在某些时候失败,即在内部for循环中的第三个循环,然后整个脚本停止。但是,我希望脚本继续调用subrpocesses,直到所有循环都循环。
那么如何避免这种行为?
编辑: 试过
try:
call and writes here
except:
print "Ohai"
实际输出是ABORT
的两倍,它被取消,这是runprogram
的主要过程,但随后ABORT
来自runprogram
的子进程1}}然后整个脚本失败。也许这与它有关?
此外,"Ohai"
未打印...