如果程序终止/关闭/崩溃,我该如何自动重新打开它?

如果程序终止/关闭/崩溃,我该如何自动重新打开它?

我创建了一个 Java JAR 程序,需要在计算机上一直运行。如果该程序关闭(无论是因为用户关闭还是因为它崩溃),我需要重新打开该程序。

我已经设法让它在我登录计算机时自动启动,但我怎样才能让它保持运行呢?

我不确定这是否应该是一个编程问题。毕竟,自动启动程序不是一个编程问题,所以我认为让它们持久化可能是一个类似的情况。

答案1

将其放入.bat/.cmd文件中。java根据需要调整调用。从自动启动中启动 cmd 文件。确保使用java,而不是javaw,因为您希望等到它完成后再下次启动它。

:start
"C:\Program Files\java\bin\java" -jar my.jar
goto start

答案2

有几种程序可以解决此问题。其中一种叫做控制运行程序 (CRP)。遇到此问题时,这是一个非常好用的工具。

这是该链接............

https://www.raymond.cc/blog/keep-application-running-by-automatically-rerun-when-closed/

希望这能回答您的问题,如果没有,请告诉我。

答案3

在 stack overflow 上有一个关于如何将 .bat 文件转换为服务的问题:

https://stackoverflow.com/a/13294293

这个问题的最佳答案是使用 nssm (http://nssm.cc/)。当你的bat文件做成服务后它关闭的时候会自动重启。

在管理员提示符下,您的使用方式如下:

nssm install yourservicename yourbatfile.bat
nssm start servicename
nssm stop servicename

相关内容