小编hac*_*ack的帖子

使用sysctl检测当前在iOS上运行的应用程序

我目前已经实现了一个简单的活动监视器来监视iOS上的所有运行进程.

要检索所有正在运行的进程的列表,我这样做:

size_t size;
struct kinfo_proc *procs = NULL;
int status;
NSMutableArray *killedProcesses = [[NSMutableArray alloc] init];

int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0 };

status  = sysctl(mib, 4, NULL, &size, NULL, 0);
procs   = malloc(size);
status  = sysctl(mib, 4, procs, &size, NULL, 0);

// now, we have a nice list of processes
Run Code Online (Sandbox Code Playgroud)

如果我想了解有关特定流程的更多信息,我会这样做:

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, …
Run Code Online (Sandbox Code Playgroud)

sysctl ios

13
推荐指数
1
解决办法
5745
查看次数

标签 统计

ios ×1

sysctl ×1