我在Linux上通过Python脚本运行Java程序,但程序崩溃了,没有输出任何错误信息。执行Java程序的os.system命令输出错误代码为24。这是什么意思?
我在Linux上通过Python脚本运行Java程序,但程序崩溃了,没有输出任何错误信息。执行Java程序的os.system命令输出错误代码为24。这是什么意思?
在我的系统中,这可以在/usr/include/asm-generic/errno-base.h
文件中找到:
#define EMFILE 24 /* Too many open files */
这意味着您的进程已超过C /系统文件描述符的限制。通常限制在1024左右,可能存在某些文件描述符未关闭的错误。(在Python或Java代码中,这似乎不太可能发生,因为它会为您完成...)
我刚意识到您可能正在谈论Java程序的返回代码。这是特定于程序的,您需要检查程序的文档或代码。
>>> import os
>>> os.WIFEXITED(24) #Return True if the process exited using the exit(2) system call
False
>>> os.WIFSIGNALED(24) #Return True if the process exited due to a signal
True
>>> os.WTERMSIG(24) #Return the signal which caused the process to exit
24