次のコマンド ps -eo pid,pmem,comm | を使用して、Java プログラムで pid を使用して特定のプロセスのメモリ使用量を取得しようとしています。グレップJava | awk '{印刷 ($2)}'
このコマンドは UNIX 端末では機能しますが、Java では機能しません。別の Java プログラムを実行しても (ps テーブルに Java プロセスを設定するために) null の結果が得られ続けます。
String[] PipedCommand = {
"/bin/bash",
"-c",
"ps -eo pid,pmem,comm | grep java | awk '{print ($2)}'"
};
Process command1=Runtime.getRuntime().exec(PipedCommand);
command1.waitFor();
BufferedReader reader1=new BufferedReader(new InputStreamReader(command.getInputStream()));
String line1=reader1.readLine();
if(line1 != null)
{
System.out.println(" Memory percentage is "+line1);
}
アプローチに何か問題があるかどうか誰かが教えてくれれば幸いです