Java退出代码和含义

时间:2011-06-23 12:38:19

标签: java process exit-code

是否有退出代码列表和java进程终止的含义? 因为我有一个退出代码23,我不知道它是什么(我无法更改日志以查看完整的堆栈跟踪,因为它位于不同的远程服务器中)。

我浏览了好几个小时,找不到退出代码23。

6 个答案:

答案 0 :(得分:20)

在Java应用程序中,当您调用System.exit(n);时,Java运行时环境将返回n作为退出代码返回操作系统。

数字的含义取决于您运行的程序 - 而不是Java本身,但您运行的程序会生成此编号。没有标准数字。查看生成此退出代码的程序文档,了解其含义。

答案 1 :(得分:6)

没有关于退出代码23的含义的定义。除非非零状态代码指示异常终止,否则退出代码没有关于值表示的约定。零表示成功,但即便如此,它完全取决于开发人员是否遵守这个“标准”。

答案 2 :(得分:2)

another question中,指向JVM exit code explanations页面的链接。但退出代码23似乎很神秘。

答案 3 :(得分:1)

我编译了一些“标准”存在的代码,我在我的应用程序中使用枚举,退出代码基于freebsd sys退出+ jvm信号退出,有关更多详细信息,请参阅SysExits.java

答案 4 :(得分:0)

在Eclipse中,RCP退出代码23表示重新启动。但它只在IDE下工作。

答案 5 :(得分:0)

退出代码 23 可能意味着“系统中打开的文件太多”

在某些 Linux 安装上,您可以简单地运行 perror 23 来查找。如果该命令不可用,您可以通过一个简单的 C 程序获取它:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv) {
    int e = 23;
    printf("%i: %s\n", e, strerror(e));
    return 0;
}