好的Java进程控制库

好的Java进程控制库,java,open-source,process,Java,Open Source,Process,Java进程控制是出了名的糟糕-主要是由于Java VM/JDK类(例如Java.lang.process)的支持不足 我想知道,有没有可靠的好的开源库 这些要求将是: 开放源码软件 启动/停止进程 管理标准输入和标准输出 跨平台(至少Linux, 中的Windows、Solaris、HP和IBM (该命令) (可选)可重新启动 (可取的)成熟的 可能就是你要找的。它是跨平台的,可以作为Windows服务启动,捕获IO,通常可以完全管理任何java应用程序。它重量很轻,设计很好。Atlassia

Java进程控制是出了名的糟糕-主要是由于Java VM/JDK类(例如Java.lang.process)的支持不足

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

这些要求将是:

  • 开放源码软件
  • 启动/停止进程
  • 管理标准输入和标准输出
  • 跨平台(至少Linux, 中的Windows、Solaris、HP和IBM (该命令)
  • (可选)可重新启动
  • (可取的)成熟的

  • 可能就是你要找的。它是跨平台的,可以作为Windows服务启动,捕获IO,通常可以完全管理任何java应用程序。它重量很轻,设计很好。Atlassian用它来包装他们的产品(吉拉、竹子等),所以它经过了战斗测试。

    怎么样?

    还有一个要求。。。跨平台支持终止孤立进程。使用
    java.lang.Process
    (和ApacheCommonsExec),当java应用程序执行硬停止(kill-9)时,无法终止外部进程。我真的很想找到一个能更好地处理这个问题的图书馆


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

    对于服务管理来说,这很好。但它几乎不是一个可以用于简单过程控制的库。另外,它不是完全的OSS。@Omry JSW有一个非常好的过程控制库(),问题是它不是OSS。好的提示-也很好的教程!我不认为ApacheCommonsExec提供了与Java服务包装器相同的抽象级别。为了实现一个进程/守护进程管理器,Commons Exec可能是一个好的开始。我需要添加一个进程依赖性概念:一个进程/服务只有在其依赖的进程/服务已经启动时才应该启动。如果流程/服务停止,则其所有依赖的流程/服务都将停止。现在是2015年。我想知道是否有什么变化,现在这个问题的答案会有所不同。现在是2020年,看起来java Process API的替代品不多。