【问题标题】:Is there an alternative to Runtime.getRuntime().exec()是否有替代 Runtime.getRuntime().exec()
【发布时间】:2011-08-15 19:05:23
【问题描述】:

只是想知道,是否有比Runtime.getRuntime().exec() 更好、更新、更安全、更快等的东西。

我想从我的应用程序在 linux 上运行另一个进程,这是我知道的唯一方法。如果有替代方案就好了。

【问题讨论】:

  • 这种方式(特别是)是否不足?听起来您只是在要求重复的功能。
  • java.lang.Process 并不新。出于某些目的,它可能会更好。
  • 我并不是说 getRuntime.exec 有什么问题,只是我多年前在 java 1.3 中了解到它,这是我知道的唯一方法并且想知道是否有多个剥猫皮的方法,仅此而已。

标签: java runtime.exec


【解决方案1】:

ProcessBuilder怎么样?

还有一点:

在 Java 1.5 中引入,允许您获得对进程环境的更多控制 - 设置工作目录,让您将错误流重定向到输入流(来自 java POV)等等。

来自Oracle's site

ProcessBuilder - 新的 ProcessBuilder 类提供了更多 调用子进程比 Runtime.exec 更方便的方法。在 特别是,ProcessBuilder 可以很容易地使用 修改过的流程环境(即基于父级的 过程环境,但有一些变化)。

【讨论】:

  • ...扬起眉头,饶有兴趣地挠着下巴。
  • 如果我可能会问...有没有办法在不使用 ProcessBuilder 和 Runtime.getRuntime() API 的情况下从 Java 代码执行命令?
猜你喜欢
  • 2011-02-22
  • 2011-01-09
  • 2015-08-28
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多