2009-10-13 58 views
0

我们遇到问题重新启动关闭正在运行的* .JAR文件started with the "java -cp"如何用批处理脚本停止正在运行的* .JAR文件?

杀java.exe工作正常。

但是...应用程序没有更流畅的方式吗? (它在关机时保存数据)

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

感谢您的帮助!

回答

6

以下批处理脚本的设置可以用来启动/停止瓶/任何程序

启动jar.bat

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

这基本上开始您的罐子(程序)与窗口标题设置为“win_title”。

你可以使用另一批杀窗口开始

停止jar.bat

TASKKILL /FI "WINDOWTITLE eq win_title 
+1

TASKKILL/FI“WINDOWTITLE eq win_title” 最后一个报价缺失 – har 2016-06-01 08:54:54

0

使用暂停[消息]等待按键:

PAUSE Hit any key to continue.. 

至于杀你的应用程序中,有JMX的方式来做到这一点 - 但我发现一个简单的方法来有插座监听一个本地端口,然后你可以很容易地发送一个kill commnad给它,让你的程序处理关机。

+0

哦,我知道,与暂停按钮,但我要如何提出申请去以编程方式过去该事件(批次内)? – 2009-10-13 21:50:20

+0

一旦它正在等待按键,它会一直等待 - 我想你只是想要一个简单的批处理文件。 – Gandalf 2009-10-13 21:56:04

0

出色的Java Service Wrapper可让您轻松地为您的Java应用程序安装信号处理程序。

0

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

0

如果您需要在关闭过程之前进行清理,请参阅Shutdown Hooks

中的链接从Q &答:

好,但不会我必须写很多代码只是注册一个简单的关闭挂钩?

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

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