解析游标输出java

时间:2013-07-31 16:11:55

标签: java linux cursor

如何解析linux游标程序的输出,例如java中的top? 我希望有人举一个例子或链接一个。现在我得到了像Process对象一样的顶级运行。而btw top只是这样一个程序的一个例子。

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

2 个答案:

答案 0 :(得分:1)

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

top的情况下,您可以看到程序如何从源代码中读取操作系统中的流程信息,作为the procps package的一部分提供。

答案 1 :(得分:0)

第一步是读取处理输出的所有数据,可以使用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);
}