Java 如何使用批处理脚本停止正在运行的*.JAR文件?
重新关闭以“java-cp”启动的正在运行的*.JAR文件Java 如何使用批处理脚本停止正在运行的*.JAR文件?,java,batch-file,jar,Java,Batch File,Jar,重新关闭以“java-cp”启动的正在运行的*.JAR文件时遇到问题 杀死java.exe效果很好 但是。。。应用程序没有更流畅的方式吗?(它在关机时保存数据) 此外,如何使用批处理文件模拟以下消息中的任何键输入?“输入任何键以继续…” 谢谢你的帮助 使用暂停[消息]等待按键: PAUSE Hit any key to continue.. 至于杀死你的应用程序,JMX有很多方法可以做到这一点,但我找到了一种简单的方法,让套接字监听本地端口,然后您可以轻松地向其发送kill命令,并让您的程序处
时遇到问题
杀死java.exe效果很好
但是。。。应用程序没有更流畅的方式吗?(它在关机时保存数据)
此外,如何使用批处理文件模拟以下消息中的任何键输入?“输入任何键以继续…”
谢谢你的帮助 使用暂停[消息]等待按键:
PAUSE Hit any key to continue..
至于杀死你的应用程序,JMX有很多方法可以做到这一点,但我找到了一种简单的方法,让套接字监听本地端口,然后您可以轻松地向其发送kill命令,并让您的程序处理关闭。优秀的将让您轻松地为Java应用安装信号处理程序。以下批处理脚本集可用于启动/停止jars/任何程序
start-jar.bat
start "win_title" java -jar [jar file] [jar options]
这基本上是在一个标题设置为“win_title”的窗口中启动jar(程序)
您可以使用另一批来终止启动的窗口
蝙蝠
TASKKILL /FI "WINDOWTITLE eq win_title
让你的应用程序在启动时创建一个临时文件,并定期检查它是否仍然存在。您的批处理脚本只需删除该文件即可终止应用程序。如果您需要在进程关闭前进行一些清理,请查看
从链接中的问答:
好的,但是我不需要写很多代码来注册一个简单的关机钩子吗?
不可以。简单的关闭挂钩通常可以作为匿名内部类编写,如下例所示:
哦,我知道用暂停按钮,但我如何使应用程序以编程方式(在批处理中)通过该事件?一旦它等待按键,它就会一直等待-我认为你对简单的批处理文件要求有点太高了。TASKKILL/FI“WINDOWTITLE eq win_title”最后一句话不见了
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() { database.close(); }
});