summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/linhes-scripts/src/pause-mythcommflag.sh
diff options
context:
space:
mode:
authorCecil Hugh Watson <knoppmyth@gmail.com>2009-08-04 04:46:07 (GMT)
committerCecil Hugh Watson <knoppmyth@gmail.com>2009-08-04 04:46:07 (GMT)
commit2ccacaf635a52629a9b21a41d1362edc73d7c16e (patch)
treef743c813bcf552c91d85ec917926114466b345d8 /abs/core-testing/linhes-scripts/src/pause-mythcommflag.sh
parent2c2ebd978fca08a9e849e03322fc20ff5e02d9ce (diff)
parente85c92735d5ce5f790cf95a0ea02e08c264e170a (diff)
downloadlinhes_pkgbuild-2ccacaf635a52629a9b21a41d1362edc73d7c16e.zip
linhes_pkgbuild-2ccacaf635a52629a9b21a41d1362edc73d7c16e.tar.gz
linhes_pkgbuild-2ccacaf635a52629a9b21a41d1362edc73d7c16e.tar.bz2
Merge branch 'HEAD' of ssh://cesman@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