从java代码执行shell脚本并检查执行是否已通过
我使用下面的命令从java执行一个shell脚本。我还需要检查脚本执行是否成功,没有任何错误。有什么方法可以做到这一点吗?请告知
ProcessBuilder pb = new ProcessBuilder("test.sh", arg1, arg2);
Process p = pb.start();
你可以在下面搜索框中键入要查询的问题!
我使用下面的命令从java执行一个shell脚本。我还需要检查脚本执行是否成功,没有任何错误。有什么方法可以做到这一点吗?请告知
ProcessBuilder pb = new ProcessBuilder("test.sh", arg1, arg2);
Process p = pb.start();
# 1 楼答案
您需要检查进程是否终止,您可以使用
Process.waitFor()
执行此操作,直到进程完成。此调用的返回值是您调用的系统命令的返回代码# 2 楼答案
要异步处理,请将线程侦听器附加到
Process.getErrorStream
(即侦听read()方法)。当进程关闭时,您将得到一个IOException,释放线程。然后调用Process.exitValue()
。如果您从错误流或进程中得到任何信息。exitValue()不是==0,则提示可能失败