我正在寻找一种方法来记录高于 CPU 固定值(例如 40%)的进程的 pid。
我尝试使用这样的命令:
ps -eo pcpu,pid,user,args | sort -k 1,2 -r | head -10
但是,首先,它按输出的第一列排序,而不是按第一个值排序...(1,20,2,3,31,4 ...),奇怪的是,该ps
命令没有显示高于 20% 的进程!(我知道有一些,通过top
)。
谢谢
答案1
阅读时man sort
我看到了-n
选项
-n, --numeric-sort
根据字符串数值进行比较
所以我假设添加-n
将按数字排序
ps -eo pcpu,pid,user,args | sort -k 1,2 -r -n | head -10
答案2
也许您想要显示所有用户的进程,您可以使用:
ps -eoax
答案3
你可以top
这样使用:
top -b -n1 | tail -n+8 | awk '$9 > 40 { print $1 }'