2014-10-05 53 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」錯誤。