如何获取具有特定字符串的列名?

如何获取具有特定字符串的列名?

我想获取服务器上占用 CPU > 90% 的最高 PID 和命令。我想要一个变量中的 CPU%。我已经使用下面的 ps 命令尝试过。

ps -eo pid,cmd,%cpu --sort=-%cpu | head -2
  PID CMD                         %CPU
  987 dd if=/dev/zero of=/dev/nul 63.6

我正在尝试使用 AWK,但它给我提供了错误的信息,因为它将 dd 命令显示为不同的列。

有什么办法可以获取cpu%

答案1

使用以下方法来获取顶部中央处理器 %:

ps -eo %cpu --sort=-%cpu --no-headers | head -1

--no-headers
根本不打印标题行

答案2

以下命令将为您提供%CPU:

ps -eo pid,cmd,%cpu --sort=-%cpu | head -2| tail -1 | awk '{print $NF}'
  • tail -1- 将提供最后一行,其中包含实际数字
  • awk 'print $NF}'将打印该行中的最后一个元素

相关内容