我正在编写一个shell脚本,以查找是否有任何进程占用了过多的CPU使用率,然后该脚本将向支持团队发送邮件。

我的阈值限制为25,并且将CPU使用率作为:

cpuUsage=`ps -eo pcpu,pid,args | sort -k 1 -nr  | head -1`

遍历它以找出cpuUsage
for count in $cpuUsage
do
      CPUusageCount=$count
done

然后像这样检查带有阈值限制的CPUUsageCount:
if [ $CPUusageCount -gt $THRESHOLD_LIMIT ];
then
 #Sending mail to Support group
fi

在这里,我面临一条错误消息:Integer expression expected at if [ $CPUusageCount。我们不能使用-gt验证浮点数吗?请帮我怎么实现呢?

最佳答案

您可以决定从数字中去除小数部分,然后使用-ge进行比较:

if [ "${CPUusageCount%.*}" -ge $THRESHOLD_LIMIT ]
then
    # Send email
fi

关于linux - Unix Shell脚本中浮点值的关系运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9288296/

10-12 20:22