2012-02-07 2 views
-2

プログラムを使用して実行中のすべてのJavaアプリケーションのPIDを見つける必要があります。実行中のすべてのJavaアプリケーションのPIDをプログラムで取得する方法は?

+2

* "私が見つける必要がある.." *なぜ? –

+0

ちょっと、あなたの本当の疑問は、 "jpsを使ってプロセスを殺す方法"であるはずです。質問を明確にするために変更する必要があります。また、NetbeansとVisualVMの両方で、jpsの結果にMainという名前が付いていることに注意してください。たとえ 'jps -ml'でもコマンドラインパラメータが信頼できないため問題があるかもしれません。 – coolcfan

答えて

1

あなたはこれについてどう思いますか:

Process process = Runtime.getRuntime().exec(new String[] {"ps", "-ef", "|", "grep", "java"}); 

final char[] buffer = new char[0x10000]; 
StringBuilder out = new StringBuilder(); 
Reader in = new InputStreamReader(process.getInputStream(), "UTF-8"); 
int read; 
do { 
    read = in.read(buffer, 0, buffer.length); 
    if (read>0) { 
     out.append(buffer, 0, read); 
    } 
} while (read>=0); 
process.destroy(); 

System.out.println(out); 
2

アプリケーションからjpsプロセスを実行してください。

+0

こんにちは、どこでjpsを走らせることができますか?コマンドプロンプトから?そこでは認識されません。 –

+0

Joe、あなたにPATHを確認してくださいenv – George

+0

OKありがとうございました。今、jpsを使用してプログラムで特定のプロセスを強制終了する方法を教えてください。 –

関連する問題