1

JavaSwingexeアプリケーション内からトリガーされました。ECLIPSEIDEからアプリケーションを実行しているときにexe使用を強制終了できます。"taskkill /PID ProcessID "しかしjar file、swingアプリケーションのforをバッチファイルで実行しようとするexeと、プロセスIDを取得できないことが原因で、が終了しません。WindowsXP32ビットを使用しています。どんな助けでも大歓迎です

String sDosCommand = "cmd /c tasklist /FI " + "\"" + "IMAGENAME eq " + sProcessName + "\"" ;
Process process = Runtime.getRuntime().exec(sDosCommand ); 

このコード(process ID1つの特定のプロセスを取得するように変更された)は私にを与えます、そしてそれは私が同様に実行されたコマンドProcess IDで使用しますTaskkill

よろしくお願いしますArunRaj

4

2 に答える 2

1

ProcessBuilderを使用して外部アプリケーションを起動していると仮定しています。start()そうでない場合は、Javadoc で説明されているように、そのクラスとそのメソッドを使用して外部アプリケーションを起動することを検討してください。

を呼び出すと、外部アプリケーションを強制終了するために呼び出すことができる がstart()得られます。Processdestroy()

Process p = new ProcessBuilder("myCommand", "myArg").start();
...
p.destroy(); // this kills the command "myCommand"
于 2012-07-24T11:29:31.130 に答える
0

問題がどこにあるかを突き止めました。バッチ ファイルからアプリケーション jar をトリガーしていました。このバッチは、TASKKILL コマンドの実行を妨げていた環境変数 (正確には PATH) も変更していました。PATH 環境変数も含めるようにバッチ ファイルを少し変更しました。これで問題は解決しました。

助けてくれてありがとう。アルン・ラージ

于 2012-07-25T15:45:50.227 に答える