注销后如何启动应用程序而不会被杀死?

时间:2011-12-14 10:39:04

标签: java windows windows-services

我有一个Java应用程序,它应该在后台运行在服务器机器上(应用程序可以通过没有GUI的命令启动)。问题是:当我从服务器注销时,应用程序被杀死。我在Linux下寻找类似nohup之类的东西。我发现了一些解决方案,但我不确定,对我的情况最好的是什么(Windows Server 2003,从BAT-Skript运行Java应用程序,启动机器后重启)?这些解决方案的优缺点是什么?

4 个答案:

答案 0 :(得分:3)

  • 写一个Windows服务(在Java上,C# - 我觉得它不重要)
  • 从您的服务启动应用

答案 1 :(得分:3)

在没有用户登录的情况下运行进程的唯一方法是让进程作为Windows服务运行,或者至少由Windows服务调用。

答案 2 :(得分:1)

只是添加上述答案。

考虑使用http://wrapper.tanukisoftware.com。 它相当成熟和流行(与ServiceEx和RunAsService相比)。

答案 3 :(得分:0)

是的,Windows服务绝对是可行的方法,但是当您将Java应用程序作为Windows服务运行时,需要注意一些事项。本教程介绍了如何使用我们的商业运行任务即服务应用程序设置Java应用程序,其中大多数都是AlwaysUp:

http://www.coretechnologies.com/products/AlwaysUp/Apps/RunJavaApplicationAsAService.html

注意:你几乎肯定需要" -Xrs" Windows 2003上的标志,以防止关闭注销行为,但如果您正在捕获关闭事件,事情可能会变得棘手。请告诉我这是否适合您的情况。