优雅地获取子进程列表

优雅地获取子进程列表

我想获取父进程为 $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/了解更多信息。

相关内容