首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >给定子PID,如何获得父PID

给定子PID,如何获得父PID
EN

Stack Overflow用户
提问于 2016-02-15 07:22:48
回答 2查看 6.4K关注 0票数 5

我正在做一个项目,其中我有许多PID,我必须找出其中哪些是僵尸进程,然后杀死它们的父进程,以便杀死初始的僵尸进程。我不确定是否有任何方法可以找出给定PID的PPID是多少。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2016-02-15 23:28:19

在ps命令的源代码中,有一个在proc/readproc.h中定义的名为get_proc_stats的函数,它(以及其他函数)返回给定pid的父pid。您需要安装libproc-dev才能获得此功能。然后,您可以执行以下操作:

代码语言:javascript
复制
#include <proc/readproc.h>
void printppid(pid_t pid) {
    proc_t process_info;
    get_proc_stats(pid, &process_info);
    printf("Parent of pid=%d is pid=%d\n", pid, process_info.ppid);
}

这是取自here。我从来没有用过这个,但根据作者的说法,这可能会有帮助。

票数 3
EN

Stack Overflow用户

发布于 2016-02-15 07:34:34

函数getppid()可以做到这一点:

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

int main()
{
    pid_t ppid;

    ppid = getppid();

    return (0);
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35399271

复制
相关文章

相似问题

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