linux中Runtime.exec(cmd)只要cmd中带|grep的都不能取得InputStream,为什么?

解决方案 »

  1.   

    |grep 是用管道过滤 ,没关系
      

  2.   

    | grep * -v grep是显示匹配的内容没有匹配的当然不会显示
      

  3.   

    我是这样的
    public void logTest()
    {
    String cmd = "ps -ef|grep vsftpd";
    Runtime runTime = Runtime.getRuntime();
    try
    {
    Process process = runTime.exec(cmd); InputStreamReader in = new InputStreamReader(process.getInputStream());
    BufferedReader bReader = new BufferedReader(in); while ((line = bReader.readLine()) != null)
    {
    System.out.println(line);
    }
    }
    catch (IOException e)
    {
    e.printStackTrace();
    }
    }
    但是没有输出
      

  4.   

    ps -ef|grep vsftpd 
    有输出吗?
      

  5.   

    在linux下直接ps -ef|grep vsftpd有输出
    在java中不加|grep vsftpd也有输出