Python子进程返回-11

Python子进程返回-11,python,subprocess,Python,Subprocess,我正在做一个测试用例,每当我调用subprocess时,我都会得到以下错误 File "/usr/lib/python2.7/subprocess.py", line 540, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/bin/python', 'TestRunner/TestRunner.py', '-r', '1000000

我正在做一个测试用例,每当我调用subprocess时,我都会得到以下错误

  File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python', 'TestRunner/TestRunner.py', '-r', '1000000']' returned non-zero exit status -11
问题是,我该如何提取实际的错误消息

我没有从退出状态-11得到任何信息

是否有存储错误详细信息的临时文件


谢谢

尝试手动运行该命令:

/usr/bin/python TestRunner/TestRunner.py -r 1000000

如果-11返回被解释为带信号11 Seg fault退出,外壳应打印这样的消息。

尝试手动运行命令:

/usr/bin/python TestRunner/TestRunner.py -r 1000000

如果-11返回被解释为带信号11 Seg fault退出,外壳应打印一条消息,说明这一点。

详细说明我的评论:

根据我提供的代码,看起来您遇到了segfault,因为线程做了不该做的事情。也许查看此链接也会有所帮助:


你也可以尝试投票率最高的答案。我没有专门在Python中调试segfaults的经验,但这正是我开始寻找的地方。

要详细说明我的评论:

根据我提供的代码,看起来您遇到了segfault,因为线程做了不该做的事情。也许查看此链接也会有所帮助:


你也可以尝试投票率最高的答案。我没有专门在Python中调试segfaults的经验,但这正是我开始寻找的地方。

您看到了吗?您是指退出状态-1吗?其退出状态-11不是-1错误详细信息(如果有)特定于所运行的进程。如果进程产生了stderr输出,您可以看到,如果您在没有终端的情况下运行,您可以打开一个文件并传递stdout=fileobj和/或stderr=fileobj,将进程生成的输出发送到一个文件,以检查或使用Popen,而不是使用stdout=subprocess.PIPE和stderr=subprocess.PIPE进行check_调用,您可以调用。在Popen对象上通信,将其读入Python进程。除此之外,流程退出代码没有标准化;这取决于程序运行每个代码的含义。或者忽略我,看看@McGlothlin链接的内容;忘记了消极状态意味着被信号规则杀死。你看到了吗?您是指退出状态-1吗?其退出状态-11不是-1错误详细信息(如果有)特定于所运行的进程。如果进程产生了stderr输出,您可以看到,如果您在没有终端的情况下运行,您可以打开一个文件并传递stdout=fileobj和/或stderr=fileobj,将进程生成的输出发送到一个文件,以检查或使用Popen,而不是使用stdout=subprocess.PIPE和stderr=subprocess.PIPE进行check_调用,您可以调用。在Popen对象上通信,将其读入Python进程。除此之外,流程退出代码没有标准化;这取决于程序运行每个代码的含义。或者忽略我,看看@McGlothlin链接的内容;忘记了消极状态意味着被信号规则杀死。我现在接受你的答案!谢谢。我现在就接受你的回答!谢谢