gpt4 book ai didi

linux - 如何自动监控CPU使用率并在达到阈值时返回结果

转载 作者:太空宇宙 更新时间:2023-11-04 12:14:40 24 4
gpt4 key购买 nike

我是 shell 脚本的新手,我想写一个脚本来监视 CPU 使用率,如果 CPU 使用率达到阈值,它应该通过 top 命令打印 CPU 使用率,这是我的脚本,它给我错误号并且也不在日志文件中存储任何值

while sleep 1;do if [ "$(top -n1 | grep -i ^cpu | awk '{print $2}')">>sy.log - ge "$Threshold" ]; then echo "$(top -n1)">>sys.log;fi;done

最佳答案

您的脚本必须缩进并存储到文件中,特别是如果您是 shell 新手!

#!/bin/sh

while sleep 1
do
if [ "$(top -n1 | grep -i ^cpu | awk '{print $2}')">>sy.log - ge "$Threshold" ]
then
echo "$(top -n1)" >> sys.log
fi
done

你的情况看起来有点奇怪。它可能有效,但它看起来真的很复杂。将中间结果存储在变量中,并对它们进行评估。然后,您会立即在“-ge”上看到语法错误。

出于安全原因,您必须将日志文件存储在绝对路径中。使用变量来简化阅读。

#!/bin/sh

LOGFILE=/absolute_path/sy.log
WHOLEFILE=/absolute_path/sys.log
Thresold=80

while sleep 1
do
TOP="$(top -n1)"
CPU="$(echo $TOP | grep -i ^cpu | awk '{print $2}')"
echo $CPU >> $LOGFILE
if [ "$CPU" -ge "$Threshold" ] ; then
echo "$TOP" >> $WHOLEFILE
fi
done

关于linux - 如何自动监控CPU使用率并在达到阈值时返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47805923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com