linux - 一个进程的孙子和曾孙
问题描述
我正在尝试获取我作为参数传递的某个 PID 的孙子和孙子 PID。
所以,我试图为初学者找到最简单的解决方案。现在,我使用pgrep -P $pid
, 来查找某个 PID 的孩子,但现在我想更深入,我想我可能需要使用数据管道并从中过滤掉更多的东西。
pgrep -P $pid | grep something
但我如何更深入地了解这些孩子的后代呢?有没有办法再次重用pgrep -P
,但这次我得到的结果?
附言
我之前在这个论坛上对此进行了研究,但是所有解决方案对我来说都非常先进,我并不真正了解它们。甚至想知道是否有可能只使用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
推荐阅读
- excel-formula - Excel 公式 - 基于月流失率的第 N 年后的总订阅量
- html - 删除页脚底部的空白
- xml - 如何从第二个 XML 文件中获取正确的值?
- python - _tkinter.TclError:未知选项“-image”
- angular - 使用谷歌角度获取城市建议
- jenkins - 从脚本控制台删除文件夹内所有作业的旧版本
- ansible - 如何创建默认的空字典以在 Ansible 中组合过滤器?
- java - Java 11 + Tomcat 9 = java.lang.module.FindException:找不到模块 java.xml.bind
- windows - Docker Stack Deploy 无法访问 Mapping 的端口
- merge - 如何基于嵌套值合并对?