我想获取父进程为 $pid 的所有进程的列表。这是我想出的最简单的方法:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
是否有任何命令或任何更简单的方法来获取子进程列表?
谢谢!
答案1
是的,使用-P
的选项pgrep
,
iepgrep -P 1234
将为您提供子进程 ID 列表。
答案2
pids
给定父进程的所有子进程的<pid>
ID 都存在于/proc/<pid>/task/<tid>/children
条目中。
该文件包含第一级子进程的pid。对整个进程树递归地执行此操作。
前往https://lwn.net/Articles/475688/了解更多信息。