Java中的Process.exitValue()
下面是我用来从命令行程序简单地打开和关闭Internet Explorer的一个程序。我在Windows XP操作系统上用Java 6运行我的程序:Java中的Process.exitValue(),java,Java,下面是我用来从命令行程序简单地打开和关闭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(
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())
退出值为:1
Javadoc说:按照惯例,值0表示正常终止。
()
然后我注释了p1.destroy,并没有从Java程序中关闭浏览器,而是手动关闭窗口(文件>退出)。在本例中,p1.exitValue开始返回“0”
我的问题是:
p1.destroy()
视为特例,但受影响的进程可能会我应该提到,在某些情况下,流程不会影响退出代码。在某些类似UNIX的操作系统中,如果某个进程由于某些严重故障(如分段冲突或严重的外部关闭)而退出,则操作系统可能会将退出代码设置为指示此情况的值。从内存来看,它大约是128加上信号号。我不知道这是否是问题所在,但正如您正确指出的,值0表示正常终止。从外部终止进程(使用<代码>进程。销毁< /代码>,可能使用Win32 <代码>终止进程< /代码>)不是我认为的“正常”终止…