2009-10-13 141 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(); } 
}); 
相關問題