首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以编程方式获取另一个进程的父pid?

以编程方式获取另一个进程的父pid?
EN

Stack Overflow用户
提问于 2009-10-06 13:30:11
回答 6查看 22.7K关注 0票数 32

我尝试了谷歌,但找到了getppid(),它获得了当前进程的父pid。

我需要像getppid(some_other_pid)这样的东西,有这样的东西吗?基本上是获取某个进程的pid,然后返回父进程的pid。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-10-06 13:42:06

我认为最简单的事情是打开"/proc“并解析内容。

您会发现ppid是/proc/pid/stat的第四个参数

票数 35
EN

Stack Overflow用户

发布于 2012-05-16 16:08:40

或者在unix shell中,您可以尝试ps -p <child_pid> -o ppid=

票数 16
EN

Stack Overflow用户

发布于 2017-01-10 02:24:47

我迟到了7年,但对于那些偶然遇到这个问题的人来说,这里有一个在OS X上的替代解决方案。这里发布的其他答案都是正确的,sysctl()可以完成这项工作,但你也可以使用proc_pidinfo来获取关于进程的许多有用信息。

代码语言:javascript
复制
#include <libproc.h>

int getppid(const pid_t pid)
{
    proc_bsdinfo info;
    proc_pidinfo(pid, PROC_PIDTBSDINFO, 0, &info, sizeof(info));
    return info.pbi_ppid;
}

显然,还需要额外的错误检查。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1525605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档