如何使用Java和Shell编程在Windows环境中识别批处理程序的完成情况

时间:2018-06-22 09:39:58

标签: java shell process exec

Process p = Runtime.getRuntime().exec("cmd.exe /C start C:/Empire/Intranet/Redbook/Monthly/runmonthly_Dev.cmd");

//Runtime.getRuntime().exec("cmd.exe /C start C:/Empire/Intranet/Redbook/Monthly/runmonthly_Dev.cmd");
p.waitFor();
while(p.exitValue() == 0){
}

1 个答案:

答案 0 :(得分:0)

不是那样。调用waitFor()时,您已经等待该过程完成。如果没有,则执行直到退出值为零的循环将永远运行,但是退出值将永远不变。循环毫无意义。删除它。

如果您要等待程序而不是批处理文件完成,请删除start