Bash 脚本在给定的 CPU 温度下休眠 ~ 16.04 更新

ken*_*enn 5 suspend temperature cpu 16.04

这是该问题的彻底更新版本。我必须更新这个,因为这个问题被标记为这个问题的重复,而这不再有有效的答案。


  • 此问题的初始版本,带有 11.04 标签:

我是脚本和 linux 的新手,我的 comp 有时会变得太热,我想制作一个脚本来检测 temp1,如果它超过 65 C,它必须让它进入睡眠状态。我在比较脚本中的值时有困难,我无法正确定义数字,有人能解决吗?到目前为止,这是我的尝试

#!/bin/bash

max=65

val=$   sensors | grep '^temp1:' | sed -e 's/.*: \+\([+-][0-9.]\+\)°C.*$/0\1/'

while true; do
    if [[ "$val" > "$max" ]]; then
        sudo /etc/acpi/sleep.sh force
        sleep 1
    else
        sleep 10
    fi
    clear
    sensors
done
Run Code Online (Sandbox Code Playgroud)

以上得到一个脚本的答案,根据评论在某个时候更新为在 14.04 中工作

 #!/bin/bash

 while true; do
    val=$(sensors | awk '/temp1/ {print $2}')
    max="+75.0"
    if [[ "$val" > "$max" ]]; then
        dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
    fi
    sleep 10
    clear
    sensors
 done
 exit 0
Run Code Online (Sandbox Code Playgroud)

如链接问题所示,上述脚本在 16.04 中不起作用。

这个问题得到一个简单修改过的脚本版本的答案

 #!/bin/bash

 while true; do
    val=$(sensors | awk '/temp1/ {print $2}')
    max="+75.0"
    if [[ "$val" > "$max" ]]; then
        systemctl suspend
    fi
    clear
    sensors
 done
 exit 0
Run Code Online (Sandbox Code Playgroud)

但是当它完成工作时(系统在超过 75 度时进入睡眠状态),它需要比预期更多的 CPU 功率,并在运行至 10 摄氏度时将温度推高;这更有用,不运行时更冷却!

我不知道问题出在最初的 11.04 脚本还是最后一次更改上,但这需要 16.04 的新答案。

ken*_*enn 9

我设法制作了自己的脚本。

#!/bin/bash
while true; do
   val=$(sensors | awk '/temp1/ {print $2}')
   max="+75.0"
   if [[ "$val" > "$max" ]]; then
       dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
   fi
   sleep 10
   clear
   sensors
done
exit 0
Run Code Online (Sandbox Code Playgroud)

对于 16.04(也在这里):

#!/bin/bash
while true; do
   val=$(sensors | awk '/temp1/ {print $2}')
   max="+75.0"
   if [[ "$val" > "$max" ]]; then
       systemctl suspend
   fi
   sleep 10
   clear
   sensors
done
exit 0
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

2471 次

最近记录:

9 年,4 月 前