如何获取每个进程信息,例如mem,3G流

时间:2012-01-17 07:06:16

标签: iphone sysctl

我使用sysctl()函数来获取进程列表,但我只找到开始时间,name.how我可以从每个进程获得更多信息吗?

1 个答案:

答案 0 :(得分:1)

有关详细信息,另请参阅Detect which app is currently running on iOS using sysctl。您基本上再次使用sysctl来请求有关特定PID的更多信息。

struct kinfo_proc *proc;
int mib[5] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pidNum, 0 };
int count;
size_t size = 0;

// ask the proc size
if(sysctl(mib, 4, NULL, &size, NULL, 0) < 0) return -1;

// allocate memory for proc
proc = (struct kinfo_proc *)malloc(size);

sysctl(mib, 4, proc, &size, NULL, 0);