Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/zsh
- LIST=""
- COUNTER="0"
- CACHE=""
- # lt/le less than/equal
- # gt/ge greater than/equal
- # eq equal, ne not equal
- KILLED=0
- COUNTER=0
- KLIST=("java" "ffxiv.exe" "chrom" "firefox")
- ALERT_SOUND="/home/aurora/Notes/sound/transmission.wav"
- while true
- do
- sleep 1
- KILLED=0
- CACHE=$(free --mega | grep "Mem:")
- echo -n "checking..."
- for i in {2..100}
- do
- BUF=$(echo $CACHE | cut -d ' ' -f $i | tr -d ' \t')
- if [[ -n "$BUF" ]]
- then
- #total used free shared buff/cache available
- COUNTER=$COUNTER+1
- if [[ $COUNTER -ge 6 ]]
- then
- echo -n " $BUF mb"
- if [[ $BUF -le 1024 ]]
- then
- LIST=$(ps -eo pid,comm)
- for VAR in $KLIST
- do
- BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
- if [[ ! -z $BUF ]]
- #if [[ $BUF -ge 0 ]]
- then
- echo "Memory Protection, killing: $VAR"
- kill -9 $BUF
- play -q $ALERT_SOUND
- COUNTER=0
- KILLED=1
- break
- fi
- done
- fi
- COUNTER=0
- break
- fi
- fi
- done
- if [[ $KILLED -ge 1 ]]
- then
- continue
- fi
- CACHE=$(sensors)
- BUF=$(echo $CACHE | grep "Package id 0")
- BUF_CUR=$(echo $BUF | cut -d '+' -f2 | cut -d '.' -f1)
- BUF_HIGH=$(echo $BUF | cut -d '+' -f3 | cut -d '.' -f1)
- #BUF_CRIT=$(echo $BUF | cut -d '+' -f4 | cut -d '.' -f1)
- echo -n " - CPU($BUF_CUR/$BUF_HIGH)"
- if [[ $BUF_CUR -ge $BUF_HIGH ]]
- then
- LIST=$(ps -eo pid,comm)
- for VAR in $KLIST
- do
- BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
- if [[ ! -z $BUF ]]
- #if [[ $BUF -ge 0 ]]
- then
- echo "Heat Protection, killing: $VAR"
- kill -9 $BUF
- play -q $ALERT_SOUND
- KILLED=1
- break
- fi
- done
- fi
- if [[ $KILLED -ge 1 ]]
- then
- continue
- fi
- BUF=$(echo $CACHE | grep "PECI Agent 0")
- BUF_CUR=$(echo $BUF | cut -d '+' -f2 | cut -d '.' -f1)
- BUF_HIGH=$(echo $BUF | cut -d '+' -f3 | cut -d '.' -f1)
- #BUF_CRIT=$(echo $BUF | cut -d '+' -f4 | cut -d '.' -f1)
- echo -n ",GPU($BUF_CUR/$BUF_HIGH)"
- if [[ $BUF_CUR -ge $BUF_HIGH ]]
- then
- LIST=$(ps -eo pid,comm)
- for VAR in $KLIST
- do
- BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
- if [[ ! -z $BUF ]]
- #if [[ $BUF -ge 0 ]]
- then
- echo "Heat Protection, killing: $VAR"
- kill -9 $BUF
- play -q $ALERT_SOUND
- KILLED=1
- break
- fi
- done
- fi
- if [[ $KILLED -ge 1 ]]
- then
- continue
- fi
- BUF=$(echo $CACHE | grep "CPUTIN")
- BUF_CUR=$(echo $BUF | cut -d '+' -f2 | cut -d '.' -f1)
- BUF_HIGH=$(echo $BUF | cut -d '+' -f3 | cut -d '.' -f1)
- #BUF_CRIT=$(echo $BUF | cut -d '+' -f4 | cut -d '.' -f1)
- echo -n ",CPUTIN($BUF_CUR/$BUF_HIGH)"
- if [[ $BUF_CUR -ge $BUF_HIGH ]]
- then
- LIST=$(ps -eo pid,comm)
- for VAR in $KLIST
- do
- BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
- if [[ ! -z $BUF ]]
- #if [[ $BUF -ge 0 ]]
- then
- echo "Heat Protection, killing: $VAR"
- kill -9 $BUF
- play -q $ALERT_SOUND
- KILLED=1
- break
- fi
- done
- fi
- if [[ $KILLED -ge 1 ]]
- then
- continue
- fi
- BUF=$(echo $CACHE | grep "AUXTIN")
- BUF_CUR=$(echo $BUF | cut -d '+' -f2 | cut -d '.' -f1)
- BUF_HIGH=$(echo $BUF | cut -d '+' -f3 | cut -d '.' -f1)
- #BUF_CRIT=$(echo $BUF | cut -d '+' -f4 | cut -d '.' -f1)
- echo -n ",AUX($BUF_CUR/$BUF_HIGH)"
- if [[ $BUF_CUR -ge $BUF_HIGH ]]
- then
- LIST=$(ps -eo pid,comm)
- for VAR in $KLIST
- do
- BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
- if [[ ! -z $BUF ]]
- #if [[ $BUF -ge 0 ]]
- then
- echo "Heat Protection, killing: $VAR"
- kill -9 $BUF
- play -q $ALERT_SOUND
- KILLED=1
- break
- fi
- done
- fi
- if [[ $KILLED -ge 1 ]]
- then
- continue
- fi
- echo
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement