优秀的Java过程控制库

Tay*_*ier 27 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. (理想的)成熟

Mic*_*ley 14

如何Apache的百科全书Exec的

  • 好小费 - 好教程!http://commons.apache.org/exec/tutorial.html (2认同)

Tre*_*ton 5

Java Service Wrapper可能就是您正在寻找的。它是跨平台的,可用于将事物作为 Windows 服务启动、捕获 IO,并且通常可以完全管理任何 Java 应用程序。它的重量非常轻并且设计精良。Atlassian 使用它来包装他们的产品(Jira、Bamboo 等),因此它经过了实战检验。

  • 对于服务管理来说还不错。但它并不是一个可用于轻松过程控制的库。而且,它也不完全是 OSS。 (3认同)

小智 5

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

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