命令行过程在Java中读取Linux

时间:2018-06-29 09:17:29

标签: java linux bash command-line

我正在尝试执行此操作:

    Process p = Runtime.getRuntime().exec("ps -ef | grep bash");

    BufferedReader r =  new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ((line = r.readLine()) != null) {
      System.out.println(line);
    }

并希望看到一些行,但是它返回Null

如果我仅执行"ps -ef",它将返回所有正确的进程。

通常我需要将关键字发送给方法,该方法是否返回工作流程

1 个答案:

答案 0 :(得分:1)

这将起作用

String[] command =  {"/bin/sh", "-c", "ps -ef | grep bash"};
Process p = Runtime.getRuntime().exec(command);