2017-04-09 11 views
1

私は別のプログラムのプロセスIDをどのように見つけるのだろうかと思います。Java:別のプログラムのプロセスIDを見つけるにはどうすればいいですか?

プログラムのプログラミングを開始したとき、.exeのプロセスは変わっていないと思っていましたが、プログラムが失敗したときに再チェックされ、変更されたことがわかりました。

私はインターネットからさまざまな方法を試しましたが、いずれもターゲットとして非Javaプログラムを持っていませんでした。ここで

は私の現在のコードです:私はボタン

を押したときに

try { 
         System.out.println("DefaultButton Pressed"); 
         Runtime.getRuntime().exec("taskkill /F /PID "+processID); 
        } catch (IOException e) { 
         // TODO Auto-generated catch block 
         System.out.println("Failed to kill the process"); 
         e.printStackTrace(); 
        } 

このコードは、プロセスを殺すためにtrys私はPIDをつかむしようとしたコードを持っていたが、それは 同様

を失敗しました

私はPIDを取得しようとしましたが、私のプロセスID(duh)を取得します。私は別の非Javaプログラムにコードを変更しようとしていますが、コードはまだ動作しません。

String processID= ManagementFactory.getRuntimeMXBean().getName(); 
System.out.println("Process ID for this app = " + processID); 

これもまた、独自のコードを取得するコードです。

私はそれが動作するように調整することはできません。

他のJava以外のプロセスのPIDを取得することはできますか?ここで

EDIT 1 は、このコードは、私の他のコードの前にある私の新しいコード

​​

です。他のコードは上記のコードの後に​​あります。

私はタイプProcessint processID = Integer.parseInt(processIdRaw);

では動作しません、私はそれが出力から番号を見つけるだろうけれどもので、私は.parseIntを追加したと思います。私はPIDの仕事を作るための方法を見つけることができなかったため、タイプProcess

答えて

0

の前

エラー出ますが!

Runtime.getRuntime().exec("taskkill /F /IM <processname>.exe") 

作品!ファイル名を指定して実行CMD

3:コマンドタスクリストを実行します

4:グラブあなたは

2を殺したいプログラムを実行します。

try { 
         System.out.println("DefaultButton Pressed"); 
         Runtime.getRuntime().exec("taskkill /F /IM <processname>"); 
        } catch (IOException e) { 
         // TODO Auto-generated catch block 
         System.out.println("Failed to kill the process"); 
         e.printStackTrace(); 
        } 

は、プロセス名

1を検索するにはプロセス名

関連する問題