Java.exe JVM能以某种方式重启吗?

时间:2009-11-13 19:35:40

标签: java

Java.exe JVM能以某种方式重启吗?如果你有一个在DOS shell(不作为服务)中运行的Java程序,那么关闭shell,关闭shell并使用不同的Windows进程ID重新启动自己的最简洁,最有效的方法是什么,并重新打开一个带有重载类路径的不同shell?

我希望这不可能,但我想我应该向其他人询问并向他们学习。

注意:如果有人知道Eclipse IDE如何能够如此干净地重新启动,那就是我想要使用的方法。

3 个答案:

答案 0 :(得分:6)

Java Service Wrapper可以在这里提供帮助。您可以在其下运行Java进程,但不一定是服务。您可以定义重新启动特性,如果它退出,则重新启动Java程序(System.exit()或调用WrapperManager.restart())。

答案 1 :(得分:1)

最干净,最简单的方法是从DOS批处理文件(或CMD脚本,如果您愿意)运行程序。在DOS批处理文件中构建一个循环。你把一个:label放在开头附近,然后在你的Java进程下面放一个GOTO label。如果需要,你可以使用 Ctrl - C 打破循环。

答案 2 :(得分:0)

创建一个单独的可执行文件,它将进程ID和命令作为命令行参数,等待指定的进程关闭然后运行指定的命令。启动该程序,然后退出当前实例。

您可以将该程序嵌入主程序中并将其复制到临时目录中以执行它,或者将其与您的程序并排包含。