将最繁忙过程的PID存储在变量中

时间:2017-05-06 01:13:21

标签: linux bash awk

我试图将最繁忙进程的PID存储在BASH脚本中的变量中。

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       915  1.7  0.8 319948 34088 tty7     Ssl+ May05   3:24 /usr/lib/xorg/X
root       920  0.0  0.0  15940   116 tty1     Ss+  May05   0:00 /sbin/agetty --
deego    25690  0.1  0.1  22376  4900 pts/1    Ss   02:06   0:00 bash
deego    25704  101  0.0  12536   908 pts/1    R    02:07   0:03 /bin/bash ./busy_wait
deego    25705  0.0  0.0  37364  3272 pts/1    R+   02:07   0:00 ps au

当我输入命令时:

ps au --sort = -pcpu |头-2 |尾巴-1

deego    25704 99.5  0.0  12536   908 pts/1    R    02:07   0:46 /bin/bash ./busy_wait

它给了我正确的排序。

但是,当我在脚本中使用awk将变量分配给变量时,变量似乎总是被分配错误的PID(总是915)

busyPID=$(ps au --sort=-pcpu | head -2 | tail -1 | awk '{print $2}')

1 个答案:

答案 0 :(得分:0)

为什么不压缩标题并抓住第一行?

busy_pid=$(ps hau --sort=-pcpu | awk '{print $2; exit}')