gpt4 book ai didi

java - 从 Java 同步运行 shell 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:05 26 4
gpt4 key购买 nike

我正在尝试从 Java 执行 Bash Shell 脚本,使用这段代码它运行良好。

public void executeScript() {
try {
new ProcessBuilder("myscript.sh").start();
System.out.println("Script executed successfully");
} catch (IOException e) {
e.printStackTrace();
}
}

以上代码异步运行良好。但是我想实现的是同步执行代码。我希望Java进程等到脚本执行完成后再执行下一批代码。

总而言之,我希望在批处理文件(“myscript.sh”)完成执行后执行“打印语句 - 脚本成功执行”。

谢谢

最佳答案

您想等待流程完成,即 waitFor()像这样

public void executeScript() {
try {
ProcessBuilder pb = new ProcessBuilder(
"myscript.sh");
Process p = pb.start(); // Start the process.
p.waitFor(); // Wait for the process to finish.
System.out.println("Script executed successfully");
} catch (Exception e) {
e.printStackTrace();
}
}

关于java - 从 Java 同步运行 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20592397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com