尝试在java Process Builder中使用wait()



在java中使用流程生成器,但我希望程序在流程完成时等待。

我尝试使用pb.wait((,但它一直在等待。如何等待所有命令执行完毕?

这只是我代码中很小的一部分。

String[] commands = {All my commands go here};
String command = "cmd.exe /c " + String.join(" && ", commands);
ProcessBuilder pb = new ProcessBuilder(command.split(" "));
pb.inheritIO(); 
try {
pb.start();
try {
pb.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e) {
System.out.println("Error, Could not run.");
e.printStackTrace();
}
}

您调用的wait()方法没有达到预期效果(查看javadoc了解更多详细信息:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(长(

您想等待您启动的进程:

Process p = pb.start();
p.waitFor();

参见https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Process.html#waitFor((

最新更新