【问题标题】:Java daemon under Linux: Choices?Linux 下的 Java 守护进程:选择?
【发布时间】:2011-11-27 15:03:41
【问题描述】:

我有一个控制台应用程序(用 Java 编写),它应该在 Linux 机器上运行直到它停止。

日志记录由应用程序本身完成。

只要有新版本可用,就需要停止应用程序(即我登录、停止应用程序、复制新的 JAR 文件,然后再次启动它)。

除了下面指定的选项之外,还有哪些选项可以实现?

已知的方法:

1) Tanuki 服务包装器

2) nohup java -jar myapp-1.32.jar &

【问题讨论】:

  • 即使它不能完全满足你的需求,你也可以看看 capistrano。
  • 小心找到一个服务,它可以监听关闭信号以优雅地关闭您的服务。
  • 您的控制台应用程序是否能够检测到它需要关闭?

标签: java linux ubuntu daemon


【解决方案1】:

我使用Java Service Wrapper,但你已经提到了。我认为它应该适合您的需求。

Apache Commons Daemon 也很流行:http://commons.apache.org/daemon/,但我从未使用过。

【讨论】:

    【解决方案2】:

    我正在使用这个启动脚本:http://shrubbery.homeip.net/c/display/W/Java+Daemon+Startup+Script

    [更改的域名 - 由 wiki 所有者]

    【讨论】:

    【解决方案3】:

    一些现代 Linux 发行版已切换到 upstart。这是一个启动和停止所有其他服务的守护进程。我肯定会调查的。因为它解决了生产就绪启动脚本的一些棘手问题。缺点是它没有特定于 java 的功能。

    【讨论】:

    • 感谢您的建议。您发布的链接是指有关外部排序的维基百科文章。我不明白这和暴发户有什么关系。
    【解决方案4】:

    还有 apache commons 守护进程http://commons.apache.org/proper/commons-daemon/jsvc.html

    Jsvc 是一组库和应用程序,可让 Java 应用程序更轻松地在 UNIX 上运行。

    Jsvc 允许应用程序(例如 Tomcat)以 root 身份执行一些特权操作(例如绑定到

    【讨论】:

      猜你喜欢
      • 2011-03-06
      • 1970-01-01
      • 2017-05-08
      • 2014-12-05
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      相关资源
      最近更新 更多