【问题标题】:Assigning value to variable after parsing from top command从顶部命令解析后为变量赋值
【发布时间】:2017-06-29 04:59:39
【问题描述】:

我正在创建一个监控 CPU 使用率的脚本。我想使用特定进程的 %CPU 值,然后将其与用户设置的上限进行比较。但是我在从 TOP 命令解析那个特定的 %CPU 值时遇到了问题。我正在使用 TOP、GREP 和 AWK,但我在解析时遇到了问题。请建议一些 bash 命令。任何帮助将不胜感激。

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 我已经尝试过 CUT,并且我已经读到 PERL 和 CUT 将可以工作,我目前正在研究如何使用 PERL :)
  • 你能分享你尝试过但失败的命令吗?
  • PID=$(top -n1 | grep -m1 java | perl -pe 's/\e\[?.*?[\@-~] ?//g' | cut -f1 -d' ') 这用于提取java进程的PID。我只在网上找到了这个,但我不知道用于 PERL 的 RE。
  • 当我尝试 top -n1 java 没有返回,你尝试过吗? grep -m1 java?

标签: bash awk terminal grep


【解决方案1】:

(top -i -b -n 1 | grep java |tr -s " " | cut -f 10 -d' ')

这对我有用:)

【讨论】:

    【解决方案2】:

    这将打印bash的CPU使用率

    top -n1 -b | grep bash | awk '{ print $9 }'
    

    其他信息是here:

    -n 数字 更新显示次数,然后退出。

    -b 以批处理模式运行;不接受命令行输入。 用于将输出发送到另一个命令或文件。

    【讨论】:

      猜你喜欢
      • 2020-12-29
      • 2017-03-08
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多