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";

你可能感兴趣的:(Java调用shell脚本)