1

我使用 sysctl () 函数获取进程列表,但我只找到开始时间、名称。如何从每个进程中获取更多信息?

4

1 回答 1

1

另请参阅使用 sysctl 检测当前在 iOS 上运行的应用程序以了解详细信息。您基本上再次使用 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);
于 2012-09-10T13:51:50.090 回答