捕获os.system执行的应用程序中的运行时错误

时间:2012-06-17 06:55:42

标签: python

在我的应用程序中,os.system用于执行另一个程序。

os.system('./appln')

有没有办法检测正在执行的程序中是否发生运行时错误[例如,像SIGSEGV]?

2 个答案:

答案 0 :(得分:1)

查看subprocess模块而不是os.systemsubprocess模块有多种方法可以捕获返回代码或引发非零返回代码的异常:http://docs.python.org/library/subprocess.html#replacing-os-system

答案 1 :(得分:0)

通过检查os.system调用的返回值,可以检测正在执行的程序中的运行时错误。这个question详细说明了os.system调用的各种返回值。

也就是说,最好按照@ tweet的回答并使用子进程模块来实现相同的目标。