Bash 脚本:CPU 使用率过高时自动断网并重连

本脚本使用 Bash 语言编写,当 CPU 资源使用率超过 95% 持续 5 分钟时,自动断开网络连接 2 分钟,如果 CPU 使用率仍超过 95%,则重复该操作,直到 CPU 使用率低于 95%。

#!/bin/bash

while true
do
    cpu_usage=$(top -b -n 1 | grep 'Cpu(s)' | awk '{print $2 + $4}')
    if (( $(echo '$cpu_usage > 95' | bc -l) )); then
        echo 'CPU usage is high, disconnecting network...'
        sudo ifconfig en0 down
        sleep 120
        sudo ifconfig en0 up
        echo 'Network reconnected.'
        sleep 300
        continue
    fi
    echo 'CPU usage is normal.'
    break
done

解释:

  • while true:无限循环,直到满足退出条件。
  • cpu_usage=$(top -b -n 1 | grep 'Cpu(s)' | awk '{print $2 + $4}'):获取当前 CPU 使用率。
  • if (( $(echo '$cpu_usage > 95' | bc -l) )); then:判断 CPU 使用率是否超过 95%。
  • sudo ifconfig en0 down:断开网络连接。
  • sleep 120:等待 2 分钟。
  • sudo ifconfig en0 up:重新连接网络。
  • sleep 300:等待 5 分钟。
  • continue:如果 CPU 使用率仍然超过 95%,继续循环。
  • break:如果 CPU 使用率低于 95%,退出循环。
Bash 脚本:CPU 使用率过高时自动断网并重连

原文地址: https://www.cveoy.top/t/topic/nfAf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录