【发布时间】:2014-03-26 00:10:25
【问题描述】:
我有某个进程的 PID,需要获取父进程 ID。如何使用目标 c 获得它?
【问题讨论】:
标签: objective-c macos pid
我有某个进程的 PID,需要获取父进程 ID。如何使用目标 c 获得它?
【问题讨论】:
标签: objective-c macos pid
原文来源:http://www.objectpark.net/parentpid.html
#include <sys/sysctl.h>
#define OPProcessValueUnknown UINT_MAX
int ProcessIDForParentOfProcessID(int pid)
{
struct kinfo_proc info;
size_t length = sizeof(struct kinfo_proc);
int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid };
if (sysctl(mib, 4, &info, &length, NULL, 0) < 0)
return OPProcessValueUnknown;
if (length == 0)
return OPProcessValueUnknown;
return info.kp_eproc.e_ppid;
}
【讨论】: