当cpu temp高于70然后kill进程

时间:2013-12-30 21:18:31

标签: bash

我正在尝试制作一个脚本,帮助我在创建哈希文件时控制我的CPU的温度 但是当它进入le进程停止时,它一直说不出来是我的脚本

M=70
while
R1=`cat /sys/class/thermal/thermal_zone0/temp`
R2=$(($R1 / 1000))
R3=`top -bn 1 | awk 'NR>7{s+=$9} END {print s}'`
echo  "$Bl Cpu Temp $R2°C $R3$% Usage"
do
sleep 2
if [$R2 -ge $M]; then
kill -STOP 
fi
done

当我运行脚本时,它会给我

  

Cpu Temp 62°C @ 100%用法

     

cpu.sh:13:cpu.sh:[62:未找到

1 个答案:

答案 0 :(得分:3)

替换

 if [$R2 -ge $M]; then

 if [ "$R2" -ge "$M" ]; then

空格非常重要,因为[实际上是test(1)(通常是shell中的built-in变体)。双引号对于$R2为空的情况很有用......

阅读advanced bash scripting guide ...