优秀的Java过程控制库

时间:2008-10-10 21:54:02

标签: java open-source process

Java进程控制非常糟糕 - 主要是由于Java VM / JDK类(例如java.lang.Process)的支持不足。

我想知道,有没有可靠的开源库。

要求是:

  1. OSS
  2. 启动/停止流程
  3. 管理STDIN和STDOUT
  4. 跨平台(至少Linux, Windows,Solaris,HP和IBM 那个订单)
  5. (可选)可重启
  6. (理想)成熟

3 个答案:

答案 0 :(得分:14)

Apache Commons Exec怎么样?

答案 1 :(得分:3)

Java Service Wrapper可能就是你要找的东西。它是跨平台的,可用于启动Windows服务,捕获IO,并且通常完全管理任何Java应用程序。它重量很轻,设计精良。 Atlassian用它来包装他们的产品(Jira,Bamboo等),所以它经过了战斗测试。

答案 2 :(得分:3)

还有一个要求......跨平台支持杀死孤立进程。使用java.lang.Process(以及Apache Commons Exec),当Java应用程序执行硬停止(kill -9)时,无法终止外部进程。我真的很想找到一个可以更好地处理问题的库。

一种解决方案可能是将PID存储在磁盘上的某些资源中,然后在重新启动Java应用程序时终止进程。当然,这将取决于平台,所以跨平台库非常棒。