Java用のタスクマネージャをLinux用にコーディングしようとしています。Javaを使用しているLinuxで実行中のプログラムのリスト
実行中のプログラムのリストを取得する必要があります。 その他の情報:メモリ使用量、CPU使用量...
これはJavaから可能ですか?
ありがとうございました。
Java用のタスクマネージャをLinux用にコーディングしようとしています。Javaを使用しているLinuxで実行中のプログラムのリスト
実行中のプログラムのリストを取得する必要があります。 その他の情報:メモリ使用量、CPU使用量...
これはJavaから可能ですか?
ありがとうございました。
try {
// Execute command
String command = "ps aux";
Process child = Runtime.getRuntime().exec(command);
// Get the input stream and read from it
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
process((char)c);
}
in.close();
} catch (IOException e) {
}
ソース(修正):http://www.exampledepot.com/egs/java.lang/ReadFromCommand.html
/proc仮想ファイルシステムを使用するシステムでは、ディレクトリを横断して/ procの下の情報を調べることができます。
/proc内の番号付きのディレクトリは、実行中のプロセスのプロセスIDであり、これらのディレクトリ内の項目がプロセスの説明に役立ちます。
メモリ使用量とCPU情報には、/ proc/meminfoと/ proc/cpuinfo(さらにはそれ以上)があります。うまくいけばそれはあなたを始めさせるでしょう。
/proc仮想ファイルシステムがないシステムでは、JNIを使用してカーネルAPI呼び出しを行うCコードにバインドするか、出力をパイプ処理して構文解析しながらローカルコマンドラインプログラムを実行しようとする必要がありますJavaプログラム
exec(String command)
を使用してみてください。結果として得られるProcessから入力ストリームを得ることができます。
ニース!私の答えよりもはるかに説明的です! – Davidann
ありがとう、しかし、私は多かれ少なかれ、上記のページの例をコピーしました;) –
ありがとう、これは私が探していたものです。 – Mustafa