2012-01-13 22 views
1

Javaを使用してバッチを開始する必要があり、数秒後に実行中のバッチファイルを停止する必要があります。Javaを使用して実行中のバッチファイルを停止する方法

はここに私のコードは、バッチファイルを停止できませんでした

try { 
     Process process=Runtime.getRuntime().exec("cmd /c start D:/test.bat"); 
     Thread.sleep(20*1000); 
     process.destroy(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

私のコードです。

答えて

2

開始したばかりの独立したオペレーティングシステムプロセスを強制終了する必要があるので、それほど単純ではありません。 How to find and kill running Win-Processes from within Java?のように見えます。

要約:バッチスクリプト(実際には、バッチスクリプトを実行しているcmdプロセス)のPIDを見つけて、taskkillを使用して強制終了する必要があります。バッチは、Javaを使用してcmd.exeの中で実行されている場合、あなたの.batファイルにjavaまたはjavawを実行する場合

0

、この

Process prClose = Runtime.getRuntime().exec("taskkill /im cmd.exe"); 
0

を実行するには、最初にあなたのバッチファイルを終了する必要があります。

Runtime.getRuntime().exec("taskkill /f /im jqs.exe") ; 
Runtime.getRuntime().exec("taskkill /f /im javaw.exe") ; 
Runtime.getRuntime().exec("taskkill /f /im java.exe") ; 

と(必要な場合)CMDを停止

Runtime.getRuntime().exec("taskkill /f /im cmd.exe") ; 

・ホープこのヘルプ!

関連する問題