程序如下:
public class ExternalProgram {
public static void main(String[] args) {
int i=Integer.parseInt(args[0]);
System.exit(i);
}
}
public class RuntimeTest {
public static void main(String[] args) {
String cmd= "java ExternalProgram 0 ";
try
{
Process ps=Runtime.getRuntime().exec(cmd);
ps.waitFor();
if(ps.exitValue()==0)
System.out.println( "External program terminate normally. ");
else
System.out.println( "External program terminate abnormally. ");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
按程序来说我运行的是java ExternalProgram 0,即输入了命令行参数0,在调用ExternalProgram时应该输入正常结束,那么正常结果是打印External program terminate normally.但是实际结果却是External program terminate abnormally.不明白为什么,请各位高手多帮帮忙看看。
------解决方案--------------------
ps.exitValue()这个值是等于1的,当然是External program terminate abnormally