无法找出-11的返回码是什么意思

我正在写一个工具,它是用python和C编写的.python脚本读取一个configuration文件,执行一些validation,使得对C程序进行几次调用。

系统:RHE 5.7,python:2.7.6,gcc:4.5.2

被调用的C程序的一些参数是input文件的path。 有一种情况下input文件path对于多个C程序调用是相同的。 在这种情况下,只有第一次调用成功,并且pythonsubprocess模块的返回码是'-11'。

我不知道如何进步。 首先,我无法find指示“-11”作为退出状态可能意味着什么的文档。 它似乎不在/usr/include/sysexits.h中的“标准”代码中。 我猜测,代码也可以解释为0xf5或245,因为退出代码是我相信真正签名的8位值。

我在C程序的开始处添加了debugging,以打印出被调用的参数,但没有任何内容显示失败的调用。 我可以理解C可能会重新打开一个在前面的调用(也许)上读取的文件失败,但代码甚至没有那么远!

那么,退出代码从哪里来? 是从pythonsubprocess模块推测C程序的(bash)环境出发的吗? 它是否从C程序的C运行时,甚至达到主要?

我想我可以通过将“循环”向下移动到C中来实现这一目标,以便每个input文件path只调用一次,但仍不能解释这种行为。 有人可以解释我如何才能确定这个错误的原因? 谢谢。

(FWIW)从python调用:

try: subprocess.check_call( args ) except subprocess.CalledProcessError as e: print e 

进入C:

 printf( "\n--- swizzle\n\nargs:\n" ); for ( int i = 0; i < argc; i++ ) printf( "- %s\n", argv[ i ]); 

错误输出:

 Command '[..]' returned non-zero exit status -11 

Solutions Collecting From Web of "无法找出-11的返回码是什么意思"