是否有退出代码列表和java进程终止的含义? 因为我有一个退出代码23,我不知道它是什么(我无法更改日志以查看完整的堆栈跟踪,因为它位于不同的远程服务器中)。
我浏览了好几个小时,找不到退出代码23。
答案 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;
}