Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. #!/bin/zsh
  2.  
  3. LIST=""
  4. COUNTER="0"
  5. CACHE=""
  6.  
  7. # lt/le less than/equal
  8. # gt/ge greater than/equal
  9. # eq equal, ne not equal
  10.  
  11. KILLED=0
  12. COUNTER=0
  13. KLIST=("java" "ffxiv.exe" "chrom" "firefox")
  14. ALERT_SOUND="/home/aurora/Notes/sound/transmission.wav"
  15. while true
  16. do
  17. sleep 1
  18. KILLED=0
  19. CACHE=$(free --mega | grep "Mem:")
  20. echo -n "checking..."
  21. for i in {2..100}
  22. do
  23. BUF=$(echo $CACHE | cut -d ' ' -f $i | tr -d ' \t')
  24. if [[ -n "$BUF" ]]
  25. then
  26. #total used free shared buff/cache available
  27. COUNTER=$COUNTER+1
  28. if [[ $COUNTER -ge 6 ]]
  29. then
  30. echo -n " $BUF mb"
  31. if [[ $BUF -le 1024 ]]
  32. then
  33. LIST=$(ps -eo pid,comm)
  34. for VAR in $KLIST
  35. do
  36. BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
  37. if [[ ! -z $BUF ]]
  38. #if [[ $BUF -ge 0 ]]
  39. then
  40. echo "Memory Protection, killing: $VAR"
  41. kill -9 $BUF
  42. play -q $ALERT_SOUND
  43. COUNTER=0
  44. KILLED=1
  45. break
  46. fi
  47. done
  48. fi
  49. COUNTER=0
  50. break
  51. fi
  52. fi
  53. done
  54. if [[ $KILLED -ge 1 ]]
  55. then
  56. continue
  57. fi
  58. CACHE=$(sensors)
  59. BUF=$(echo $CACHE | grep "Package id 0")
  60. BUF_CUR=$(echo $BUF | cut -d '+' -f2 | cut -d '.' -f1)
  61. BUF_HIGH=$(echo $BUF | cut -d '+' -f3 | cut -d '.' -f1)
  62. #BUF_CRIT=$(echo $BUF | cut -d '+' -f4 | cut -d '.' -f1)
  63. echo -n " - CPU($BUF_CUR/$BUF_HIGH)"
  64. if [[ $BUF_CUR -ge $BUF_HIGH ]]
  65. then
  66. LIST=$(ps -eo pid,comm)
  67. for VAR in $KLIST
  68. do
  69. BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
  70. if [[ ! -z $BUF ]]
  71. #if [[ $BUF -ge 0 ]]
  72. then
  73. echo "Heat Protection, killing: $VAR"
  74. kill -9 $BUF
  75. play -q $ALERT_SOUND
  76. KILLED=1
  77. break
  78. fi
  79. done
  80. fi
  81. if [[ $KILLED -ge 1 ]]
  82. then
  83. continue
  84. fi
  85. BUF=$(echo $CACHE | grep "PECI Agent 0")
  86. BUF_CUR=$(echo $BUF | cut -d '+' -f2 | cut -d '.' -f1)
  87. BUF_HIGH=$(echo $BUF | cut -d '+' -f3 | cut -d '.' -f1)
  88. #BUF_CRIT=$(echo $BUF | cut -d '+' -f4 | cut -d '.' -f1)
  89. echo -n ",GPU($BUF_CUR/$BUF_HIGH)"
  90. if [[ $BUF_CUR -ge $BUF_HIGH ]]
  91. then
  92. LIST=$(ps -eo pid,comm)
  93. for VAR in $KLIST
  94. do
  95. BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
  96. if [[ ! -z $BUF ]]
  97. #if [[ $BUF -ge 0 ]]
  98. then
  99. echo "Heat Protection, killing: $VAR"
  100. kill -9 $BUF
  101. play -q $ALERT_SOUND
  102. KILLED=1
  103. break
  104. fi
  105. done
  106. fi
  107. if [[ $KILLED -ge 1 ]]
  108. then
  109. continue
  110. fi
  111. BUF=$(echo $CACHE | grep "CPUTIN")
  112. BUF_CUR=$(echo $BUF | cut -d '+' -f2 | cut -d '.' -f1)
  113. BUF_HIGH=$(echo $BUF | cut -d '+' -f3 | cut -d '.' -f1)
  114. #BUF_CRIT=$(echo $BUF | cut -d '+' -f4 | cut -d '.' -f1)
  115. echo -n ",CPUTIN($BUF_CUR/$BUF_HIGH)"
  116. if [[ $BUF_CUR -ge $BUF_HIGH ]]
  117. then
  118. LIST=$(ps -eo pid,comm)
  119. for VAR in $KLIST
  120. do
  121. BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
  122. if [[ ! -z $BUF ]]
  123. #if [[ $BUF -ge 0 ]]
  124. then
  125. echo "Heat Protection, killing: $VAR"
  126. kill -9 $BUF
  127. play -q $ALERT_SOUND
  128. KILLED=1
  129. break
  130. fi
  131. done
  132. fi
  133. if [[ $KILLED -ge 1 ]]
  134. then
  135. continue
  136. fi
  137. BUF=$(echo $CACHE | grep "AUXTIN")
  138. BUF_CUR=$(echo $BUF | cut -d '+' -f2 | cut -d '.' -f1)
  139. BUF_HIGH=$(echo $BUF | cut -d '+' -f3 | cut -d '.' -f1)
  140. #BUF_CRIT=$(echo $BUF | cut -d '+' -f4 | cut -d '.' -f1)
  141. echo -n ",AUX($BUF_CUR/$BUF_HIGH)"
  142. if [[ $BUF_CUR -ge $BUF_HIGH ]]
  143. then
  144. LIST=$(ps -eo pid,comm)
  145. for VAR in $KLIST
  146. do
  147. BUF=$(echo $LIST | grep "$VAR" | sed 's/[^0-9]//g')
  148. if [[ ! -z $BUF ]]
  149. #if [[ $BUF -ge 0 ]]
  150. then
  151. echo "Heat Protection, killing: $VAR"
  152. kill -9 $BUF
  153. play -q $ALERT_SOUND
  154. KILLED=1
  155. break
  156. fi
  157. done
  158. fi
  159. if [[ $KILLED -ge 1 ]]
  160. then
  161. continue
  162. fi
  163. echo
  164. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement