相关疑难解决方法(0)

Linux中是否有任何标准的退出状态代码?

如果进程的退出状态为0,则认为该进程已在Linux中正确完成.

我已经看到分段错误经常导致退出状态为11,但我不知道这是否只是我工作的惯例(那些失败的应用程序都是内部的)或标准.

Linux中的进程是否有标准退出代码?

linux error-handling exit-code

300
推荐指数
8
解决办法
28万
查看次数

JVM:如何定义java可执行文件的退出代码?

我正在寻找java可执行文件的可能退出代码的定义:

(如何)我可以判断退出代码是执行Java进程还是VM本身?

示例:在Windows上,java -badoption返回1; java MainMain作为一个有效的类可以返回1为好.

我可以使用任何VM选项来使退出代码更有意义吗?例如,要区分两种类型的退出代码?

如果我知道退出代码不是来自我的Java进程(只返回0),那么非零退出代码是什么意思?

在Windows上,我经常看到-11.由于这些是通过自动错误报告工具报告的,我看不到任何错误消息.我只有退出代码,需要解释它.

退出代码是否依赖于平台?

java jvm

4
推荐指数
1
解决办法
2287
查看次数

Java中的Process.exitValue()

下面是我用来简单地从我的命令行程序打开和关闭Internet Explorer的程序.我在Windows XP操作系统上用Java 6运行我的程序:

Runtime runtime = Runtime.getRuntime();       
Process p1 = runtime.exec("C:\\Program Files\\Internet Explorer\\iexplore.exe");
Thread.sleep(5000);
p1.destroy();
Thread.sleep(2000);
System.out.println("p1.exitValue(): "+p1.exitValue())
Run Code Online (Sandbox Code Playgroud)

退出值为:1.

Javadoc说:按照惯例,值0表示正常终止. http://download.oracle.com/javase/6/docs/api/java/lang/Process.html#exitValue()

然后我评论了p1.destroy而不是从我的Java程序关闭浏览器,我手动关闭了窗口(文件>退出).在这种情况下,p1.exitValue开始返回'0'.

我的问题是:

  1. 为什么程序在第一种情况下将退出代码返回为"1"?JVM是否将p1.destroy()视为终止程序的异常方式?
  2. 通常,"退出状态代码"值是特定于JVM还是特定于操作系统?我看到一些问题,人们已将退出代码值报告为"10","34545"等.

谢谢你的阅读,

java

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×2

error-handling ×1

exit-code ×1

jvm ×1

linux ×1