Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python错误代码_Python - Fatal编程技术网

Python错误代码

Python错误代码,python,Python,我有一个python脚本,它使用subprocess.Popen运行另一个python脚本的多个实例,每个实例在不同的文件上运行 我有一个300个文件的集合,我在这个过程中运行这些文件以进行测试。每次运行时,随机数目的文件都会失败,总是不同的文件,因此这些文件本身没有问题,但发生错误时,子流程会退出,并显示错误代码-6或-11。如果我使用相同的输入文件再次运行脚本,它将成功运行 什么是-6和-11?它们可以与python异常关联吗 编辑以澄清:脚本实际上是django管理命令。我有一个很大的tr

我有一个python脚本,它使用subprocess.Popen运行另一个python脚本的多个实例,每个实例在不同的文件上运行

我有一个300个文件的集合,我在这个过程中运行这些文件以进行测试。每次运行时,随机数目的文件都会失败,总是不同的文件,因此这些文件本身没有问题,但发生错误时,子流程会退出,并显示错误代码-6或-11。如果我使用相同的输入文件再次运行脚本,它将成功运行

什么是-6和-11?它们可以与python异常关联吗


编辑以澄清:脚本实际上是django管理命令。我有一个很大的try:except子句,它捕获任何异常并调用sys.exit(1),所以失败发生在我的代码之外。可能在加载其他模块时。我已经检查了django源代码,它似乎总是在出现任何错误时调用sys.exit(1),因此-6和-11似乎来自较低的级别。我认为它们可能是与比赛条件有关的操作错误,但我不能确定。您是否从mysubproc.returncode获得退出状态

发件人:

负值-N表示 该子进程被信号N终止 (仅限Unix)


信号6和11为SIGABRT(中止)和SIGSEGV(SEGFULT)()。我的猜测是,其他脚本在扩展或扩展所依赖的某个库中运行不好。然后,您可能有一个错误的生成-如果手动执行,请重新编译,或者查看是否有更新的包。

退出状态代码是脚本的返回值。脚本的
sys.exit()
有什么作用?请参阅我对原始问题所做的编辑。这正是我想要的。。非常感谢。出于好奇,什么会导致SIGABRT?@user61000——据我所知,这通常来自C/C++运行时的内存管理——比如双重删除,等等。它会依次调用abort(),这基本上会使进程向自身发出SIGABRT信号。这似乎与无效的内存引用密切相关……听起来好像其中一个库中存在一些错误的指针/内存管理。@user61000-这回答了关于SIGABRTs来自何处的问题:)谢谢Jeremy,现在我知道这不是我可以控制的,我可以捕获这些代码并将文件重新添加到队列中,这似乎很管用。