进程的孙子和 Great-grandchildren
Grandchildren and Great-grandchildren of a process
我正在尝试获取我作为参数传递的某个 PID 的 grandchildren 和 grand grandchildren PID。
所以,我正在尝试为初学者找到最简单的解决方案。
现在,我使用 pgrep -P $pid
,找到某个 PID 的 children,但现在我想更深入,我想我可能需要使用数据管道并从中过滤出更多东西它。
pgrep -P $pid | grep something
但是我如何更深入地研究这些 children 的后代?有没有办法再次重用 pgrep -P
,但这次我得到的结果是什么?
P.S
我之前在这个论坛上研究过这个,但是所有的解决方案对我来说都非常先进,我不太了解它们。
甚至很想知道是否有可能只使用 ps -P
而不使用 pgrep.
的解决方案
您可以使用 xargs 轻松完成:
pgrep -P $pid | xargs -n1 pgrep -P
那会给你孙子。 xargs
将获取第一个命令的输出并将其一个接一个地 (-n1
) 传递给第二个命令
仅使用 ps:
ps --ppid $pid -o pid --no-headers | xargs -n1 ps --no-headers --ppid
我正在尝试获取我作为参数传递的某个 PID 的 grandchildren 和 grand grandchildren PID。
所以,我正在尝试为初学者找到最简单的解决方案。
现在,我使用 pgrep -P $pid
,找到某个 PID 的 children,但现在我想更深入,我想我可能需要使用数据管道并从中过滤出更多东西它。
pgrep -P $pid | grep something
但是我如何更深入地研究这些 children 的后代?有没有办法再次重用 pgrep -P
,但这次我得到的结果是什么?
P.S
我之前在这个论坛上研究过这个,但是所有的解决方案对我来说都非常先进,我不太了解它们。
甚至很想知道是否有可能只使用 ps -P
而不使用 pgrep.
您可以使用 xargs 轻松完成:
pgrep -P $pid | xargs -n1 pgrep -P
那会给你孙子。 xargs
将获取第一个命令的输出并将其一个接一个地 (-n1
) 传递给第二个命令
仅使用 ps:
ps --ppid $pid -o pid --no-headers | xargs -n1 ps --no-headers --ppid