Linux 下的 Java 守护进程:选择?
我有一个控制台应用程序(用 Java 编写),它应该在 Linux 计算机上运行直到停止。
日志记录由应用程序本身完成。
每当有新版本可用时,就需要停止该应用程序(即我登录、停止该应用程序、复制新的 JAR 文件,然后再次启动它)。
除了下面指定的选项之外,还有哪些实现此选项的选项?
已知的方法:
1) Tanuki 服务包装器
2) nohup java -jar myapp-1.32.jar &
I have a console application (written in Java), which should run on a Linux machine until it is stopped.
Logging is done by the application itself.
The application needs to be stopped whenever a new version is available (i. e. I login, stop the application, copy the new JAR file, and then launch it again).
What are the options for implementing this, apart from those specified below?
Known ways to do it:
1) Tanuki service wrapper
2) nohup java -jar myapp-1.32.jar &
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我使用 Java Service Wrapper,但您已经提到过。我认为它应该适合你的需求。
Apache Commons Daemon 也很受欢迎:http://commons.apache.org/daemon/,但我从未使用过它。
I use Java Service Wrapper, but you already mentioned it. I think it should suit your needs.
Apache Commons Daemon is also popular: http://commons.apache.org/daemon/, but I never used it.
我正在使用这个启动脚本: http://shrubbery.homeip .net/c/display/W/Java+Daemon+Startup+Script
[已更改域名 - 由 wiki 所有者]
I'm using this startup script: http://shrubbery.homeip.net/c/display/W/Java+Daemon+Startup+Script
[Changed domain name - by wiki owner]
一些现代 Linux 发行版已改用 upstart。这是一个启动和停止所有其他服务的守护进程。我肯定会调查一下。因为它解决了生产就绪启动脚本的一些棘手问题。缺点是它没有java特定的功能。
Some modern Linux distributions have switched to upstart. That's a daeomon starting and stopping all the other services. I'd definitely look into that. Since it solves some tricky problems with production ready start scripts. The downside is that it has no java specific functionality.
还有 apache commons 守护进程 http://commons.apache.org/proper/commons -daemon/jsvc.html
There also the apache commons deamons http://commons.apache.org/proper/commons-daemon/jsvc.html