Java调用shell脚本

在最近的工作中,需要用到Java调用服务器上的shell脚本,在这里总结下如何通过Java调用脚本。

这里直接贴上代码:

    String bashCommand = "/home/go/script/restart_go.sh";  //①
    Runtime runtime = Runtime.getRuntime();
    Process pro = runtime.exec(bashCommand);  //②
    int status = pro.waitFor();  //③
    if (status != 0){  //④
        logger.error("restart go server error");
        return;
    }
    logger.info("restart go server success");

①脚本在服务器上的绝对路径
②进行脚本的调用
③这里需要注意,需要调用waitFor()等待脚本执行完,不然的话,方法结束会导致脚本运行失败。
④如果执行完的状态码是0,就代表脚本执行成功
这里调用的脚本必须有执行的权限,不然的话会报错,如果报了没有权限的错误,那么把命令改成:

String bashCommand = "chmod 777 /home/go/script/restart_go.sh";

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容