summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/linhes-scripts/src/pause-mythcommflag.sh
diff options
context:
space:
mode:
authorGreg Frost <gregfrost1@bigpond.com>2009-08-04 01:22:18 (GMT)
committerGreg Frost <gregfrost1@bigpond.com>2009-08-04 01:22:18 (GMT)
commite85c92735d5ce5f790cf95a0ea02e08c264e170a (patch)
tree037a1921e8f6899fea9b5daaaf998ec746367298 /abs/core-testing/linhes-scripts/src/pause-mythcommflag.sh
parent82af083e07eb189ac930678224a5748551cf69f8 (diff)
parent120212bdd438d98c52aaab5b43443258be81a7e4 (diff)
downloadlinhes_pkgbuild-e85c92735d5ce5f790cf95a0ea02e08c264e170a.zip
linhes_pkgbuild-e85c92735d5ce5f790cf95a0ea02e08c264e170a.tar.gz
linhes_pkgbuild-e85c92735d5ce5f790cf95a0ea02e08c264e170a.tar.bz2
Merge branch 'master' of ssh://gregfrost@knoppmyth.net/mount/repository/LinHES-PKGBUILD
Diffstat (limited to 'abs/core-testing/linhes-scripts/src/pause-mythcommflag.sh')
-rwxr-xr-xabs/core-testing/linhes-scripts/src/pause-mythcommflag.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/abs/core-testing/linhes-scripts/src/pause-mythcommflag.sh b/abs/core-testing/linhes-scripts/src/pause-mythcommflag.sh
new file mode 100755
index 0000000..4da808b
--- /dev/null
+++ b/abs/core-testing/linhes-scripts/src/pause-mythcommflag.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+# pause-mythcommflag.sh v0.2 05/21/09
+# Utility to automatically pause & unpause mythcommflag if CPU usage is above a certain level
+# Free for any use.
+# Installation:
+# cp pause-mythcommflag.sh /usr/LH/bin
+# chmod +x /usr/LH/bin/pause-mythcommflag.sh
+# Usage: Executed from sv start pause-mythcommflag
+
+# Threshold for when mythcommflag will be paused
+CPUTHRESHOLD=75
+
+# Second Threshold for when mythcommflag is already paused
+PAUSEDCPUTHRESHOLD=45
+
+# Log file to write (change to /dev/null for no log)
+LOG=/var/log/mythtv/pause-mythcommflag.log
+
+# Number of seconds to wait between checking for mythcommflag process
+SLEEP=5
+
+#sleep $SLEEP
+
+touch $LOG
+
+COMMFLAGSTATE=1
+
+while true; do
+ PROCCOMMFLAG=`pidof mythcommflag`
+ if [ -n "${PROCCOMMFLAG}" ]
+ then
+ FRONTENDCPU=`top -bn1u mythtv | grep mythfrontend | awk '{ print $9 }'`
+ if [ $COMMFLAGSTATE -eq 1 ]
+ then
+ CPUTHRESHOLD1=$CPUTHRESHOLD
+ else
+ CPUTHRESHOLD1=$PAUSEDCPUTHRESHOLD
+ fi
+ if [ "$FRONTENDCPU" -ge "$CPUTHRESHOLD1" ]
+ then
+# echo "$(date) FE CPU $FRONTENDCPU% is greater than $CPUTHRESHOLD1%, PAUSE Commflagging" >> $LOG
+ kill -s STOP $PROCCOMMFLAG
+ COMMFLAGSTATE=0
+ else
+# echo "$(date) FE CPU $FRONTENDCPU% is less than $CPUTHRESHOLD1%, CONTINUE Commflagging" >> $LOG
+ kill -s CONT $PROCCOMMFLAG
+ COMMFLAGSTATE=1
+ fi
+# else
+# echo "No COMMFLAG Process Active" >> $LOG
+ fi
+ sleep $SLEEP
+done