2014-10-05 103 views
0

所以我正在为android写。我的应用程序需要有关应用程序内存和CPU使用率的数据。
很快我发现没有Android功能可以帮助我,所以我可以使用“TOP”命令。 我的问题是我需要提供某些PID,但该命令不起作用。 当我读取我得到空行。 我检查过的语法和所有似乎合法。 有什么建议吗?unix TOP命令不适用于PID

代码:

  for(int j=0; j<20;j++) 
      { 
       pids+=PIDs[j].toString()+","; 
      } 
      pids=pids.substring(0,pids.length()-1); 
      String command = "top -m 20 -p "+ pids +" -n 1"; 
      Process p = Runtime.getRuntime().exec(command); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(
        p.getInputStream())); 
      String line; 
      int i = 7; 
      do { 
       line = reader.readLine(); 
       i--; 
      }while(i>0); 

      while (line != null) 
      { 
       list.add(line); 
       line = reader.readLine(); 
      } 
      p.waitFor(); 
+0

哪个命令不起作用? 'top'? – Travis 2014-10-07 06:03:09

回答

0

望着从AOSP最新的源代码,遗憾的是不支持-p命令。如果你直接在android shell中调用你的命令,你应该得到一个无效的参数“-p”错误。