parsing游标输出java

我怎样才能parsing从linux游标程序的输出,如在Java顶部? 我希望有人给一个例子或链接一个。 现在我得到顶级的运行像一个过程对象。 顺便说一句,这只是一个这样的程序的例子。

String[] args={"top"}; Process process = new ProcessBuilder(args).start(); 

你不能。 使用curses编写的程序不会像典型的命令行程序那样输出字符流,甚至不会使用退格技巧。 相反,它使用操作系统特定的调用,如ioctl和特定于实现的转义序列,如TermInfo中所述 。 一般来说,Unix系统上的这些程序是执行所有必要工作的库的简单前端,最好的选择是通常使用这些库(如果没有可用的话,编写一个JNI包装器)。

top的情况下,您可以看到程序如何从操作系统的源代码中读取进程信息,这些信息是procps程序包的一部分。

第一步是读取所有处理输出的数据,这可以使用Process.getInputStream()方法完成

 Process p = new ProcessBuilder("top").start(); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while((line = br.readLine()) != null) { System.out.println(line); }