summaryrefslogtreecommitdiff
path: root/preventsystemfreeze.sh
diff options
context:
space:
mode:
authorlittleblack111 <jerrylam110209@gmail.com>2023-03-13 21:31:41 +0800
committerlittleblack111 <jerrylam110209@gmail.com>2023-03-13 21:31:41 +0800
commita6cc1090eefaa1943101e9623f210ed78846e957 (patch)
treee147e9f41a67860abd6e7b36ad065c0cc157bf6e /preventsystemfreeze.sh
parent46ba941d0e3df93c243429551bd5101b0c1c172e (diff)
update
Diffstat (limited to 'preventsystemfreeze.sh')
-rw-r--r--preventsystemfreeze.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/preventsystemfreeze.sh b/preventsystemfreeze.sh
new file mode 100644
index 0000000..d674356
--- /dev/null
+++ b/preventsystemfreeze.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# Maximum CPU temperature in degrees Celsius
+MAX_TEMP=180
+
+# Maximum time in seconds that the system can be frozen
+MAX_FROZEN_TIME=300
+
+# Check the CPU temperature
+TEMP=$(sensors | grep 'Core 0:' | awk '{print $3}' | cut -c2-3)
+if [ $TEMP -ge $MAX_TEMP ]; then
+ echo "CPU temperature is too high. Rebooting..."
+ /sbin/reboot
+fi
+
+# Check if the system is frozen
+LAST_LOAD=$(uptime | awk '{print $NF}')
+if [ $LAST_LOAD -gt $MAX_FROZEN_TIME ]; then
+ echo "System is frozen. Rebooting..."
+ /sbin/reboot
+fi