我尝试了谷歌,但找到了getppid()
,它获得了当前进程的父pid。
我需要像getppid(some_other_pid)
这样的东西,有这样的东西吗?基本上是获取某个进程的pid,然后返回父进程的pid。
发布于 2009-10-06 13:42:06
我认为最简单的事情是打开"/proc“并解析内容。
您会发现ppid是/proc/pid/stat的第四个参数
发布于 2012-05-16 16:08:40
或者在unix shell中,您可以尝试ps -p <child_pid> -o ppid=
。
发布于 2017-01-10 02:24:47
我迟到了7年,但对于那些偶然遇到这个问题的人来说,这里有一个在OS X上的替代解决方案。这里发布的其他答案都是正确的,sysctl()
可以完成这项工作,但你也可以使用proc_pidinfo
来获取关于进程的许多有用信息。
#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;
}
显然,还需要额外的错误检查。
https://stackoverflow.com/questions/1525605
复制相似问题