如何使用批处理脚本停止正在运行的* .JAR文件?

时间:2009-10-13 21:34:04

标签: java batch-file jar

我们在重新启动关闭正在运行的* .JAR文件started with the "java -cp"时遇到问题。

杀死java.exe工作正常。

但......应用程序没有更平滑的方式吗? (它在关闭时保存数据)

此外,如何使用批处理文件模拟以下消息"Enter any key to continue..."中的任何键输入?

感谢您的帮助!

5 个答案:

答案 0 :(得分:9)

以下一组批处理脚本可用于启动/停止jar /任何程序

启动jar.bat

start "win_title" java -jar [jar file] [jar options]

这基本上在标题设置为“win_title”的窗口中启动你的jar(程序)。

您可以使用另一批来杀死已启动的窗口

停止jar.bat

TASKKILL /FI "WINDOWTITLE eq win_title

答案 1 :(得分:0)

使用PAUSE [信息]等待按键:

PAUSE Hit any key to continue..

至于杀死你的应用程序,有JMX方法可以做到这一点 - 但我找到一种简单的方法让套接字监听本地端口,然后你可以轻松地向它发送一个kill commnad并让你的程序处理关闭

答案 2 :(得分:0)

优秀的Java Service Wrapper将让您毫不费力地为Java应用程序安装信号处理程序。

答案 3 :(得分:0)

让您的应用在启动时创建临时文件,并定期检查它是否仍然存在。您的批处理脚本只能删除该文件以终止该应用程序。

答案 4 :(得分:0)

如果您需要在关闭流程之前进行一些清理,请查看Shutdown Hooks

来自Q& A链接的

  

好的,但是我不会为了注册一个简单的关机钩而编写很多代码吗?

     

没有。简单的关闭挂钩通常可以写为匿名内部类,如下例所示:

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() { database.close(); }
});
相关问题