Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在注销后启动应用程序而不被杀死?_Java_Windows_Windows Services - Fatal编程技术网

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

Java 如何在注销后启动应用程序而不被杀死?,java,windows,windows-services,Java,Windows,Windows Services,我有一个Java应用程序,它应该在后台的服务器上运行(应用程序可以在没有GUI的情况下通过命令启动)。问题是:当我从服务器注销时,应用程序被终止。我在Linux下寻找类似的nohup。我找到了一些解决方案,但我不确定,什么最适合我的情况(Windows Server 2003,Java应用程序从BAT skcript运行,启动机器后重新启动)?这些解决方案的优缺点是什么 :进程是否确实需要在系统帐户下运行 :但是 我已使用计划任务启动应用程序,并使用选项run asNT AUTHORITY\S

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

  • :进程是否确实需要在系统帐户下运行
  • :但是
  • 我已使用计划任务启动应用程序,并使用选项run as
    NT AUTHORITY\SYSTEM
    。但在注销后,应用程序仍然被终止。我能让它工作吗
      • 编写一个windows服务(在Java、C#上——我认为这无关紧要)
      • 从您的服务启动应用程序

      • 使用将应用程序作为窗口服务运行

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

      仅对上述答案进行补充

      考虑使用。
      它相当成熟和流行(与ServiceEx和RunaService相比)。

      是的,Windows服务无疑是一种发展方向,但当您将Java应用程序作为Windows服务运行时,有几件事需要注意。本教程介绍了如何使用我们的商用run-anything-as-a-service应用程序AlwaysUp设置java应用程序,其中包括了大多数应用程序:


      注意:您几乎肯定需要Windows 2003上的“-Xrs”标志来防止注销时关闭行为,但如果捕获关闭事件,事情可能会变得棘手。让我知道,如果这是一个问题,你的情况

      服务是正确的选择。我想你应该问一下@Rup:我不是Java应用程序的程序员,我正在使用的是一个新的应用程序。@Christian:那真的没关系。我的意思是你不必修改Java应用程序。只需将其作为服务运行或从服务运行。您是否有使用特定3d party实用程序的经验,您能推荐一个吗?在你的回答之后,我做了一个网络搜索,找到并查看了。有一个YAJSW、JSW、apachecommons守护程序和Launch4J的比较表。