1

我正在尝试使用以下命令在 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);
            }

如果有人能告诉我这种方法是否有问题,我将不胜感激

4

0 回答 0