我可以使用Runtime来实现相同的目标吗?如果是这样,利弊是什么 我必须从java调用shell脚本。
提前致谢。
答案 0 :(得分:2)
您可以使用Runtime.exec()
从Java执行shell脚本。当然,这将减少跨平台和更难维护。如果要等待shell脚本完成,则需要使用exec()
返回的Process对象并调用waitFor()
。您还可以获得非常有用的stdin/out/err
。您可能还想明确调用正确的shell,例如exec("sh script.sh")
。
答案 1 :(得分:1)
是的,请使用Runtime.exec()
。
Runtime.getRuntime().exec("command param param");
我不明白利弊。这有效。如果你需要从java执行shell脚本,你应该使用它。
答案 2 :(得分:1)
Runtime.getRuntime().exec("the_script.sh");
新进程将继承Java进程的环境。
答案 3 :(得分:1)
如果您需要更多地控制流程的创建,ProcessBuilder是Runtime.exec(...)
的更强大的替代方案。