objective-c获取进程列表,路径和参数

时间:2015-01-10 08:54:32

标签: objective-c macos cocoa process

获取流程列表及其路径非常简单;

    int numberOfProcesses = proc_listpids(PROC_ALL_PIDS, 0, NULL, 0);
pid_t pids[1024];
bzero(pids, 1024);
proc_listpids(PROC_ALL_PIDS, 0, pids, sizeof(pids));
for (int i = 0; i < numberOfProcesses; ++i) {
    if (pids[i] == 0) { continue; }
    char pathBuffer[PROC_PIDPATHINFO_MAXSIZE];
    bzero(pathBuffer, PROC_PIDPATHINFO_MAXSIZE);
    proc_pidpath(pids[i], pathBuffer, sizeof(pathBuffer));

    char arguments[KERN_PROCARGS2];

    if (strlen(pathBuffer) > 0) {
        printf("path: %s\n", pathBuffer);
    }
}

但是,我还希望获得用于启动这些进程的任何参数。我似乎无法找到如何做到这一点。有什么指针吗?

2 个答案:

答案 0 :(得分:1)

指针? ps命令会列出它们,其来源可以作为Apple的开源代码ps folder

答案 1 :(得分:0)

phpmyadmin

直接调用函数会比运行新任务更快。

可以为 Windows、MacOS、Linux 和 FreeBSD 构建源代码。

随意借用您可能需要的任何代码部分:

https://github.com/time-killer-games/xproc