首页 > 解决方案 > 一个进程的孙子和曾孙

问题描述

我正在尝试获取我作为参数传递的某个 PID 的孙子和孙子 PID。

所以,我试图为初学者找到最简单的解决方案。现在,我使用pgrep -P $pid, 来查找某个 PID 的孩子,但现在我想更深入,我想我可能需要使用数据管道并从中过滤掉更多的东西。

pgrep -P $pid | grep something

但我如何更深入地了解这些孩子的后代呢?有没有办法再次重用pgrep -P,但这次我得到的结果?

附言

我之前在这个论坛上对此进行了研究,但是所有解决方案对我来说都非常先进,我并不真正了解它们。甚至想知道是否有可能只使用ps -P不使用 pgrep 的解决方案。

标签: linuxbashps

解决方案


您可以使用xargs轻松完成:

pgrep -P $pid | xargs -n1 pgrep -P

那会给你孙子。xargs将获取第一个命令的输出并将其逐个 ( -n1) 传递给第二个命令

仅使用 ps:

ps --ppid $pid -o pid --no-headers | xargs -n1 ps --no-headers --ppid


推荐阅读