从Java Synchronously运行shell脚本

 sferra石_455 发布于 2023-02-10 13:10

我试图从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")完成执行执行"打印语句 - 成功执行脚本" .

谢谢

1 个回答
  • 你要等待进程结束,这是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();
      }
    }
    

    2023-02-10 13:14 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有