在我的应用程序中,os.system用于执行另一个程序。
os.system('./appln')
有没有办法检测正在执行的程序中是否发生运行时错误[例如,像SIGSEGV]?
答案 0 :(得分:1)
查看subprocess
模块而不是os.system
。 subprocess
模块有多种方法可以捕获返回代码或引发非零返回代码的异常:http://docs.python.org/library/subprocess.html#replacing-os-system
答案 1 :(得分:0)
通过检查os.system调用的返回值,可以检测正在执行的程序中的运行时错误。这个question详细说明了os.system调用的各种返回值。
也就是说,最好按照@ tweet的回答并使用子进程模块来实现相同的目标。