如何使用Shell脚本获取进程的所有子代或孙代的pid

阿什什

我已获得一项任务,以获取进程的子代/孙代的cpu /内存利用率。可以使用top命令找到我已经写下了一个脚本,该脚本将获取流程的子代,但是我不确定如何递归地找到该流程的所有子代和大子代。

#!/bin/bash
ID=$PPID
read PID < <(exec ps -o ppid= "$ID")
for _child in $(pgrep -P "$PID"); do
    top -c -b -n 1 -p "$_child"
done

我也尝试过使用pstree,但是我不想跟踪轻量级过程。可以请一些人帮我如何找到这个过程的大孩子。

控制台盒
function list_children {
    [[ $2 == --add ]] || LIST=()
    local ADD=() __
    IFS=$'\n' read -ra ADD -d '' < <(exec pgrep -P "$1")
    LIST+=("${ADD[@]}")

    for __ in "${ADD[@]}"; do
        list_children "$__" --add
    done
}

用法示例:

list_children "$PPID"
echo "Children: ${LIST[*]}"

for CHILD in "${LIST[@]}"; do
    top -c -b -n 1 -p "$CHILD"
done

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何等待脚本产生的所有子代(和孙代等)进程

来自分类Dev

如何使用Shell脚本访问所有子目录中的所有文件?

来自分类Dev

如何在Linux中的C中获取PID的所有后代子进程ID

来自分类Dev

获取被pkill杀死的所有进程的PID?

来自分类Dev

选择除一个及其子代/孙代之外的所有元素

来自分类Dev

如何通过获取PID而不使用awk杀死Unix进程?

来自分类Dev

如何使用C从PID获取进程名称

来自分类Dev

重新设定其祖先的所有分支机构(子代和孙代)

来自分类Dev

C程序获取PID及其所有子代的CPU使用率

来自分类Dev

如何获取脚本生成的所有子进程的列表

来自分类Dev

如何获取脚本的PID?

来自分类Dev

如何等待脚本产生的所有子代(和孙代等)进程

来自分类Dev

在C中给定父PID的情况下如何获取所有子进程的PID

来自分类Dev

编写脚本以查找用户进程的所有PID

来自分类Dev

选择除一个及其子代/孙代之外的所有元素

来自分类Dev

Shell脚本获取正确的PID

来自分类Dev

我如何列出在shell脚本(或类似的东西)运行期间执行的所有进程

来自分类Dev

您如何在没有它的shell中实现进程替换(使用bash脚本)?

来自分类Dev

如何杀死除PID 1之外的所有进程?

来自分类Dev

如何获取实例化的Canvas Element Prefab的所有子代

来自分类Dev

如何列出目录中运行的所有进程的PID?

来自分类Dev

如何使用pexpect获取生成的进程的pid?

来自分类Dev

C程序获取PID及其所有子代的CPU使用率

来自分类Dev

在脚本中获取进程的多个实例的pid并使用它们

来自分类Dev

Shell脚本-使用Shell脚本在所有情况下都从特定标签中获取内容

来自分类Dev

使用子进程调用Shell脚本不会在Shell脚本中运行所有命令

来自分类Dev

如何从bash shell脚本中获取PID

来自分类Dev

获取从父进程创建的所有子/孙进程的 pid

来自分类Dev

Shell 脚本:如何获取所有使用文件系统/目录的进程 ID

Related 相关文章

  1. 1

    如何等待脚本产生的所有子代(和孙代等)进程

  2. 2

    如何使用Shell脚本访问所有子目录中的所有文件?

  3. 3

    如何在Linux中的C中获取PID的所有后代子进程ID

  4. 4

    获取被pkill杀死的所有进程的PID?

  5. 5

    选择除一个及其子代/孙代之外的所有元素

  6. 6

    如何通过获取PID而不使用awk杀死Unix进程?

  7. 7

    如何使用C从PID获取进程名称

  8. 8

    重新设定其祖先的所有分支机构(子代和孙代)

  9. 9

    C程序获取PID及其所有子代的CPU使用率

  10. 10

    如何获取脚本生成的所有子进程的列表

  11. 11

    如何获取脚本的PID?

  12. 12

    如何等待脚本产生的所有子代(和孙代等)进程

  13. 13

    在C中给定父PID的情况下如何获取所有子进程的PID

  14. 14

    编写脚本以查找用户进程的所有PID

  15. 15

    选择除一个及其子代/孙代之外的所有元素

  16. 16

    Shell脚本获取正确的PID

  17. 17

    我如何列出在shell脚本(或类似的东西)运行期间执行的所有进程

  18. 18

    您如何在没有它的shell中实现进程替换(使用bash脚本)?

  19. 19

    如何杀死除PID 1之外的所有进程?

  20. 20

    如何获取实例化的Canvas Element Prefab的所有子代

  21. 21

    如何列出目录中运行的所有进程的PID?

  22. 22

    如何使用pexpect获取生成的进程的pid?

  23. 23

    C程序获取PID及其所有子代的CPU使用率

  24. 24

    在脚本中获取进程的多个实例的pid并使用它们

  25. 25

    Shell脚本-使用Shell脚本在所有情况下都从特定标签中获取内容

  26. 26

    使用子进程调用Shell脚本不会在Shell脚本中运行所有命令

  27. 27

    如何从bash shell脚本中获取PID

  28. 28

    获取从父进程创建的所有子/孙进程的 pid

  29. 29

    Shell 脚本:如何获取所有使用文件系统/目录的进程 ID

热门标签

归档