【发布时间】:2012-06-11 11:13:11
【问题描述】:
我正在使用调用system() 来运行python 程序的代码在Linux 上工作。我对此函数调用返回的值感兴趣,以了解 python 程序的执行情况。
到目前为止,我已经找到了 3 个结果:
python进程成功完成后system()返回值为0
当python进程在执行过程中被杀死(使用
kill -9 pid),system()返回的值为9当python进程因参数错误而自行失败时,system()返回值为512
这不符合我所读到的关于 system() 函数的内容。
此外,被调用的python程序的代码显示当遇到任何错误时它会以sys.exit(2)退出,当执行成功完成时会以sys.exit(0)退出。
谁能把这两个联系起来?我是否以错误的方式解释了返回值?是否涉及一些Linux处理,它接受python程序的sys.exit()函数的参数并基于它返回system()的值?
【问题讨论】:
-
你是如何调用python程序的?即
system("/usr/bin/env python /path/to/script");? -
system("python progname.py arg1 arg2 arg2");Python 已添加到 PATH