gpt4 book ai didi

ios9 - 如何在 iOS 9 中获取正在运行的进程列表?

转载 作者:行者123 更新时间:2023-12-01 14:59:34 24 4
gpt4 key购买 nike

iOS 9之前,获得正在运行的进程列表的方法是使用sysctl这个方法

int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL ,0};
size_t miblen = 4;
size_t size;
int st = sysctl(mib, miblen, NULL, &size, NULL, 0);
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 = NULL;
}
return nil;
}

process = newprocess;
st = sysctl(mib, miblen, process, &size, NULL, 0);
} while (st == -1 && errno == ENOMEM);

但iOS9之后,sysctl()方法已经禁止被沙盒中的App调用。

第一种技术是使用 sysctl() 函数来检索进程表(OS X 的残余),其中包括正在运行的应用程序列表。在 iOS 9 中,sysctl() 被修改为不再允许沙盒应用程序检索有关其他正在运行的进程的信息。

iOS 9如何获取正在运行的进程列表?

最佳答案

正如 OP 所说,在 iOS 9 中,sysctl() 被修改为不再允许沙盒应用程序检索有关其他正在运行的进程的信息。所以现在无法获取正在运行的进程。

关于ios9 - 如何在 iOS 9 中获取正在运行的进程列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32448605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com