linux - 我如何找到产生最多子进程的前 5 个进程

标签 linux

我如何找到产生最多子进程的前 5 个进程。

最佳答案

只有直接 child :

pids=`ps hx | awk '{print $1}' | grep -v '^1$'`
(for p in $pids; do echo -n $p ""; ps h --ppid $p | wc -l; done) | sort -k 2 -r | head -n 5

如果您也在寻找 child 的 child :

pids=`ps hx | awk '{print $1}' | grep -v '^1$'`
(for p in $pids; do echo -n $p ""; pstree $p 2>/dev/null | wc -l; done) | sort -n -k 2 -r | head -n 5

示例(第一个数字是 PID,第二个是 child 的数量 + 1( parent )):

2 121
2624 12
2933 4
30514 3
2634 3

关于linux - 我如何找到产生最多子进程的前 5 个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6943503/

相关文章:

linux - Shell 脚本不会在 jenkins 上执行,但是它会手动执行

linux - "book"的输出中的 'lscpu -p' 是什么意思?

Linux ipconfig命令

linux - 无法使 cronjob 获取服务状态

c++ - 在 Linux 上的 C++ 中的两个线程之间使用管道的错误/意外行为

node.js - Express/HTTP 监听每个端口的 EADDRINUSE?

linux - 如何使用 cut 命令移动前缀

r - 尝试在 Linux 上的 R 中安装 rgdal 包时出现问题

linux - wget 或类似程序是否始终在 POSIX 系统上可用?

linux - linux/unix 进程的内存使用峰值