在任何Linux发行版中,是否可以使用ps
或pgrep
或其他标准命令来获取给定PID的当前运行的后代进程的所有PID?
答案 0 :(得分:0)
您可以使用pstree
命令:
pstree -a "$PID"
答案 1 :(得分:0)
ppid = 12345的一个班轮:
/bin/ps -e -o pid,ppid | awk -v myppid=12345 '{if ($2 == myppid) { print $1; }}'
或脚本:
#!/bin/sh
if [ "$#" -eq 0 ] ; then
echo "Usage: $0 <ppid>" 1>&2
exit 1
fi
myppid="$1"
exec /bin/ps -e -o pid,ppid | awk -v myppid="$myppid" '{if ($2 == myppid) { print $1; }}'