获取流程列表及其路径非常简单;
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);
}
}
但是,我还希望获得用于启动这些进程的任何参数。我似乎无法找到如何做到这一点。有什么指针吗?
答案 0 :(得分:1)
指针? ps
命令会列出它们,其来源可以作为Apple的开源代码ps folder。
答案 1 :(得分:0)
phpmyadmin
直接调用函数会比运行新任务更快。
可以为 Windows、MacOS、Linux 和 FreeBSD 构建源代码。
随意借用您可能需要的任何代码部分: