首页 > 解决方案 > getRuntime().exec 和 Processbuilder 仅返回 2 行数据

问题描述

我试图获得一个顶级命令输出并将其显示在 UI 中。但是当我运行下面的代码(Runtime.exec & processbuilder)时,它只给出了两行结果。

谁能帮我这个?`

     String command = "ps";
    ProcessBuilder pb = new ProcessBuilder(command);
    try {
        Process process = pb.start();
        process.waitFor();
        BufferedReader reader = new BufferedReader(
                new InputStreamReader(process.getInputStream()));
        String line;
        while ((line = reader.readLine()) != null) {
                            topcommandoutput.append(line+"\n");
        }

        reader.close();

    } catch (IOException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    String command =  "top -s cpu -n 1 -m " + noofprocess;
   Process p;
   try {
       String line = "";
       p = Runtime.getRuntime().exec( command);
       p.waitFor();

       Scanner reader = new Scanner(new InputStreamReader(p.getInputStream()));

       while ((line = reader.nextLine())!= "null") {
           topcommandoutput.append(line+"\n");
       }
       ParseText(timestamp);
   } catch (Exception e) {
        e.printStackTrace();
   }

`

标签: android

解决方案


推荐阅读