2012-04-13 13 views
1

実際に私はiPhoneアプリで作業しています。私はアクティブ状態にあるアプリケーションの数と同じバックグラウンドにあるアプリケーションまたはアプリケーションの数をトラッキングしたいと考えていました。 あなたはタスクをトラッキングする方法を知っていますか?私はそれがタスクマネージャに関連していると思います。 私にいくつかのポインタを与えてください。 ありがとうアプリをバックグラウンドで実行しているか、アクティブにしていますか?

+5

これは公式のSDKでは不可能です。 jailbrokenデバイスやApp Stroe用に開発していますか? – sch

答えて

1

私はこれをやろうとしていたときに時間を費やしました。しかし、結果はありません。私が取得することができた最高の結果が有効とバックグラウンド(プロセスを実行しているの実際のリスト)の両方のアプリケーションを実行しているのリストを取得している

-(void) listOfProcesses { 
int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0}; 
size_t miblen = 4; 

size_t size; 
sysctl(mib, miblen, NULL, &size, NULL, 0); 
int st; 

struct kinfo_proc * process = NULL; 
struct kinfo_proc * newprocess = NULL; 

do {  
    size += size/10; 
    newprocess = realloc(process, size); 
    if (!newprocess){ 
     if (process){ 
      free(process); 
     } 
    } 
    process = newprocess; 
    st = sysctl(mib, miblen, process, &size, NULL, 0); 
} while (st == -1 && errno == ENOMEM); 

if (st == 0){ 
    if (size % sizeof(struct kinfo_proc) == 0){ 
     int nprocess = size/sizeof(struct kinfo_proc); 
     if (nprocess){    
      for (int i = nprocess - 1; i >= 0; i--){ 
       NSLog(@"Pid: %d, Process name: %@",process[i].kp_proc.p_pid,process[i].kp_proc.p_comm); 
      } 
      free(process); 
     } 
    } 
} 

}

このリストには、いくつかのシステムがありますプロセスが、並べ替えるのに問題はありません。

これは、UNIXシステムコールのリストです:

がmo情報については、このマニュアルを参照してください。これは参考になるかもしれません。

希望します。

関連する問題