我正在尝试使用以下命令在 java 程序中使用其 pid 获取特定进程的内存使用情况 ps -eo pid,pmem,comm | grep java | awk '{打印 ($2)}'
虽然此命令适用于 unix 终端,但它在 java 中不起作用即使我运行另一个 java 程序(用 java 进程填充 ps 表),我也会继续得到 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);
}
如果有人能告诉我这种方法是否有问题,我将不胜感激