linux - 将最繁忙进程的 PID 存储在变量中

标签 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}')

最佳答案

为什么不抑制标题并捕获第一行?

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

关于linux - 将最繁忙进程的 PID 存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43815719/

相关文章:

unix - 比较两个文件中的列,如果匹配则更改另一列中的字符串

perl - 使用awk或cut或perl选择特定的列

bash:我如何连接两个命令的输出以便我可以将它们传递给第三个命令?

linux - 如何显示启动时运行的脚本的终端?

php - 命令不适用于 PHP exec() 但如果通过提示运行则运行正常

c++ - 从 C++ 读取垃圾文件

Linux bash if - elif 没有按预期工作

linux - 生成映射的 D2RQ 参数

bash - gnu-parallel:exec:perl:找不到

bash - unix 脚本中的回车符