在Linux和其他POSIX(?)操作系统上 - 如何获取给定(通过pid)进程的名称和父pid?目前我正在阅读/ proc,但OSX还没有。在OSX上,我使用的是libproc但在Linux上不起作用:
int ret = proc_pidpath (pid, pathbuf, sizeof(pathbuf));
if ( ret <= 0 ) {
_dbg(" %s\n", strerror(errno));
return false;
}
答案 0 :(得分:1)
不幸的是,当谈到流程信息时,每个操作系统都会以不同的方式执行操作。如果您只需要了解用户启动的应用程序,请查看NSWorkspace类的runningApplicationWithProcessIdentifier:方法。否则,您将必须使用此处所述的特定于平台的sysctl:
https://developer.apple.com/legacy/library/qa/qa2001/qa1123.html#//apple_ref/doc/uid/DTS10001671
另请参阅此堆栈溢出问题: