写一个shell脚本,要求获取当前cpu占用率
时间: 2023-08-12 17:33:42 浏览: 73
好的,以下是获取当前CPU占用率的Shell脚本:
```bash
#!/bin/bash
# 获取CPU占用率
# top命令说明:
# -bn 表示以Batch模式运行,不需要交互,避免top在终端输出导致脚本卡住
# 1 表示只运行一次top命令,输出一次结果
# grep -w cpu 表示只匹配包含cpu单词的行,避免匹配到其它行
# awk '{print $2}' 表示输出匹配行的第二列,即CPU占用率
cpu_usage=$(top -bn 1 | grep -w cpu | awk '{print $2}')
echo "当前CPU占用率为:$cpu_usage%"
```
请注意,上述脚本依赖于top命令,因此需要确保该命令已经安装在系统中。
相关问题
shell脚本获取cpu使用率赋值一个变量
可以使用如下方法获取CPU使用率并赋值给变量:
```
CPU_USAGE=$(top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}')
```
其中 `$()` 是命令替换,将 top 命令的输出作为变量 `CPU_USAGE` 的值。top 命令用于查看系统进程和 CPU 的占用情况,参数 `-b` 表示以批处理模式运行,参数 `-n1` 表示只运行一次并退出,grep 命令用于过滤出包含 "Cpu(s)" 的行,awk 命令用于提取出 CPU 使用率并计算总和。
使用shell 写一段循环监控CPU占用的脚本
好的,我的代码如下:
```shell
while true
do
# 获取CPU占用率
cpu=$(top -n 1 | awk '/Cpu\(s\)/{print $2}')
# 输出当前CPU占用率
echo "Current CPU usage: $cpu%"
# 等待1秒
sleep 1
done
```
这个脚本会不断循环监控CPU的占用率,并输出当前CPU占用率,每秒钟监控一次。