我正在尝试使用java程序中的pid来获取特定进程的内存使用情况 使用以下命令 ps -eo pid,pmem,comm | grep java | awk'{print($ 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);
}
如果有人能告诉我方法是否有问题,我将不胜感激