2011-08-15 52 views
8

只是想知道,如果有什么比Runtime.getRuntime().exec()更好,更新,更安全,等等。是否有调用Runtime.getRuntime替代()。EXEC()

我想从我的Linux应用程序运行另一个进程,这是我知道如何的唯一途径。很高兴有一个替代方案。

+1

是这样莫名其妙地(特别是)不足?这听起来像你只是要求重复功能。 – kylc

+0

java.lang.Process并不新。出于某些目的,它可能会更好。 – bmargulies

+1

我不是说getRuntime.exec有什么问题,它只是我多年前在java 1.3中了解到的,这是我知道如何以及是否想知道是否有多种方式来为猫皮肤的唯一方法,那就是所有。 – LoudNPossiblyWrong

回答

13

如何ProcessBuilder

多一点:

在Java 1.5的推出,可以让你获得对工艺环境的更多控制 - 设定的工作目录,让你重定向错误流的输入流(从爪哇POV)和几件事。

Oracle's site

的ProcessBuilder - 新的ProcessBuilder类提供了更 方便的方式来调用子进程不是做的Runtime.exec。特别是,ProcessBuilder使用 修改的流程环境(即,基于父级的 流程环境,但有一些更改)启动子流程变得很容易。

+0

......养我的额头,抓我的下巴的利息。 – LoudNPossiblyWrong

+0

@LoudNPossiblyWrong - 足够公平:)看到编辑。 – MByD

+5

如果我可能会问......是否有一种方法可以在不使用ProcessBuilder和Runtime.getRuntime()API的情况下从Java代码执行命令? – SJunejo

相关问题