Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在后台运行应用程序还是活动应用程序?_Ios - Fatal编程技术网

Ios 在后台运行应用程序还是活动应用程序?

Ios 在后台运行应用程序还是活动应用程序?,ios,Ios,实际上,我正在开发iPhone应用程序。我想跟踪应用程序的状态或后台应用程序的数量,以及处于活动状态的应用程序的数量。 你知道如何跟踪任务吗?因为我认为它与任务管理器有关。 请给我一些指针。 谢谢我花了很多时间试图这么做。但没有结果 我能得到的最好结果是获得正在运行的应用程序的列表,包括活动的和后台的(实际上是正在运行的进程的列表): } 在此列表中有几个系统进程,但对它们进行排序没有问题 有关生产任务信息,请参阅本手册: 这是Unix系统调用的列表。这可能会有帮助 希望能有所帮助。我花了

实际上,我正在开发iPhone应用程序。我想跟踪应用程序的状态或后台应用程序的数量,以及处于活动状态的应用程序的数量。 你知道如何跟踪任务吗?因为我认为它与任务管理器有关。 请给我一些指针。
谢谢

我花了很多时间试图这么做。但没有结果

我能得到的最好结果是获得正在运行的应用程序的列表,包括活动的和后台的(实际上是正在运行的进程的列表):

}

在此列表中有几个系统进程,但对它们进行排序没有问题

有关生产任务信息,请参阅本手册:

这是Unix系统调用的列表。这可能会有帮助


希望能有所帮助。

我花了很多时间试图这样做。但没有结果

我能得到的最好结果是获得正在运行的应用程序的列表,包括活动的和后台的(实际上是正在运行的进程的列表):

}

在此列表中有几个系统进程,但对它们进行排序没有问题

有关生产任务信息,请参阅本手册:

这是Unix系统调用的列表。这可能会有帮助


希望有帮助。

这在官方sdk中是不可能的。您是为越狱设备还是为应用程序Stroe开发的?这在官方sdk中是不可能的。您是为越狱设备还是为应用程序Stroe开发的?
-(void) listOfProcesses {
int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0};
size_t miblen = 4;

size_t size;
sysctl(mib, miblen, NULL, &size, NULL, 0);
int st;

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 = newprocess;
    st = sysctl(mib, miblen, process, &size, NULL, 0);
} while (st == -1 && errno == ENOMEM);

if (st == 0){
    if (size % sizeof(struct kinfo_proc) == 0){
        int nprocess = size / sizeof(struct kinfo_proc);
        if (nprocess){              
            for (int i = nprocess - 1; i >= 0; i--){
                NSLog(@"Pid: %d, Process name: %@",process[i].kp_proc.p_pid,process[i].kp_proc.p_comm);
            }
            free(process);
        }
    }
}