首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iOS 9中获取运行进程列表?

如何在iOS 9中获取运行进程列表?
EN

Stack Overflow用户
提问于 2015-09-08 11:00:57
回答 1查看 3.1K关注 0票数 3

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

代码语言:javascript
复制
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()方法已经禁止被沙盒中的应用程序调用。

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

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

EN

回答 1

Stack Overflow用户

发布于 2015-11-01 21:31:51

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32448605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档