是否可以使用Java解析virt-top命令的结果?

我做的第一件事是在Java中运行virt-top命令

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("virt-top -n 5");


但是我在控制台中看不到任何输出。我正在使用eclipse作为编辑器。
我的目标是获取guest虚拟机的CPU和内存使用率,因此我使用了virt-top,并且打算分析结果。

任何帮助将非常感激。谢谢!

更新:

我使用了在互联网上找到的代码。我可以使用命令“ virt-top --stream -n 2”获得所需的输出。但是我现在的问题是解析结果。

1次迭代的示例是这样的,

"virt-top time  04:25:54 Host localhost.localdomain x86_64 4/4CPU 2301MHz 7465MB
   ID S RDRQ WRRQ RXBY TXBY %CPU %MEM   TIME    NAME
    1 R    0    0    0    0  0.0  0.0   0:06.42 CentOS"


我只需要获取%CPU和%MEM。

最佳答案

使用创建的过程的输入流读取生成的输出。

pr.getInputStream()


http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html

07-27 20:25