如何在Java中获取管道bash命令的输出

时间:2016-05-03 13:20:59

标签: java linux process runtime.exec

我正在关注this instructions How to get a list of current open windows/process with Java?如果我只做ps -elf,哪个工作正常。
如果我试图管它ps -elf | grep php这将不会返回任何内容 我确实确保我有一个运行<?php sleep('10000000');的php进程 通过直接在命令行上运行ps -elf | grep php找到它。

我正在使用的代码(来自上面的其他帖子)并且正在工作,除非我使用管道:

String line;
Process p = Runtime.getRuntime().exec("ps -elf");
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
    System.out.print(line + "\n\n\n\n");

}
input.close();

0 个答案:

没有答案