当我尝试根据运行的进程数对用户进行排序时,为什么根进程无法排序?

当我尝试根据运行的进程数对用户进行排序时,为什么根进程无法排序?

目前我正在远程环境中工作,我想使用 ps 命令对使用最多进程的用户数量进行排序。唯一的问题是;用我当前的命令;应该显示的 root 用户没有显示。第一个输出是我正在寻找的,后者是我当前收到的。

157 root
 12 apache
 11 brun1992
  4 bb
  2 postfix
  2 hart4492
  2 68
  1 USER
  1 sshd
  1 rpcuser

我的命令:

 ps -eo user=|sort|uniq -c | head -n 10 | sort -r $1
         9 apache
         6 au6620
         5 ande7941
         4 cwen4344
         4 bb
         3 dagg9715
         2 evan8561
         2 brun1992
         2 alki2221
         1 dbus

答案1

这将起作用:

ps -eo user|sort|uniq -c|sort -gr

sort -gr 是它的关键。

-g :按数字排序。

答案2

问题是你在排序之前就有头了。我认为您正在尝试查找最常用的十个用户名。首先,正如 @rakesh-n 所说,您需要按数字排序。

但问题是你从 uniq 中得到一个按用户名排序的列表,然后你取出前十名,然后才按计数排序。看看你的例子,注意所有的用户名都以 ae 开头

ps -eo 用户=|排序|uniq -c |排序 -r $1 |头 -n 10

相关内容