【问题标题】:How to get parent process ID using objective c in OS X?如何在 OS X 中使用目标 c 获取父进程 ID?
【发布时间】:2014-03-26 00:10:25
【问题描述】:

我有某个进程的 PID,需要获取父进程 ID。如何使用目标 c 获得它?

【问题讨论】:

    标签: objective-c macos pid


    【解决方案1】:

    原文来源: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;
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 2016-11-09
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    相关资源
    最近更新 更多