Linux下的Java守护进程:选择?

时间:2011-09-29 11:07:23

标签: java linux ubuntu daemon

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

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

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

除了下面指定的那些之外,有哪些实现这个的选项?

已知的方法:

1)Tanuki服务包装

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

4 个答案:

答案 0 :(得分:6)

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

Apache Commons Daemon也很受欢迎:http://commons.apache.org/daemon/,但我从未使用它。

答案 1 :(得分:3)

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

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

答案 2 :(得分:2)

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

答案 3 :(得分:0)

还有apache commons deamons http://commons.apache.org/proper/commons-daemon/jsvc.html

  

Jsvc是一组库和应用程序,用于使Java应用程序更容易在UNIX上运行。

     

Jsvc允许应用程序(例如Tomcat)以root身份执行某些特权操作(例如绑定到端口< 1024),然后将身份切换到非特权用户。