如何获取java开始的批处理脚本的信息,是否已经结束

How do I get the information of a batch script started in java, whether it has already ended

我在 Java 中使用像

这样的 ProcessBuilder 调用多个批处理文件
ProcessBuilder processBuilder = new ProcessBuilder("cmd", "/c", "Start", "batchTest.bat"); 
File dir = new File(path);
processBuilder.directory(dir);
try {
    Process p = pb.start();
} catch (IOException e) {
// TODO Auto-generated catch block
    e.printStackTrace();
}

现在我想要脚本在 java 中完成的信息。就像脚本完全完成时的系统输出一样。 process.isAlive() 在脚本完成前变为假。而且 process.witFor() 也没有完成工作。也许有人有想法或解决方法?

好的,我知道了。 process.waitFor() 仅当您将参数 "/wait" 添加到 ProcessBuilder 的构造函数时才有效。

new ProcessBuilder("cmd", "/c", "Start", "/wait", "batchTest.bat");