2011-06-20 53 views

回答

4

對於大多數此類事情,Android是Linux,而在Linux上執行此操作的官方方式是讀取/proc文件系統。這就是ps命令行程序所做的。下面是從Android's ps program一個片段,它生活在平臺/系統/核心庫:

d = opendir("/proc"); 

while((de = readdir(d)) != 0){ 
    if(isdigit(de->d_name[0])){ 
     int pid = atoi(de->d_name); 
     if(!pidfilter || (pidfilter == pid)) { 
      ps_line(pid, 0, namefilter); 
      if(threads) ps_threads(pid, namefilter); 
     } 
    } 
} 

ps_line功能是相當大的,但你想要的部分就是它讀取/proc/<pid>/stat。從該文件中,您可以很容易地獲得進程名稱,格式爲PID (process-name) other stuff - 只需查找第一個paren並解析,直到關閉即可。

相關問題