~ salmonella-environment-setup (master) a8e067b2cf63d8075f01bd61611923d0ef14fa07
commit a8e067b2cf63d8075f01bd61611923d0ef14fa07 Author: Mario Domenech Goulart <mario@ossystems.com.br> AuthorDate: Thu Oct 10 14:46:54 2013 -0300 Commit: Mario Domenech Goulart <mario@ossystems.com.br> CommitDate: Thu Oct 10 14:46:54 2013 -0300 Add salmonella/hunt-a.out.sh signal-tests sometimes keeps an a.out file running eating CPU. This script detects when an a.out is hanging and kills it if necessary diff --git a/hunt-a.out.sh b/hunt-a.out.sh new file mode 100755 index 0000000..2abec79 --- /dev/null +++ b/hunt-a.out.sh @@ -0,0 +1,38 @@ +#! /bin/sh + +## signal-tests sometimes keeps an a.out file running eating CPU. This +## script detects when an a.out is hanging and kills it if necessary + +logfile="$HOME/salmonella/watchdog.log" + +aout_pid() { + echo "`ps ax | grep '\./[a]\.out' | awk '{print $1}'`" +} + + +# Here we check if the process coresponding to the a.out file is +# running. If it is running, we just sleep and check again after some +# time. If after the wating time it is still running, we just kill +# it. + +sleep_time=15m + +pid=`aout_pid` +if [ -z "$pid" ]; then + exit 0 +fi +if grep -q salmonella /proc/$pid/environ; then + echo "[`date`] a.out found running. Sleeping for $sleep_time." >> $logfile + sleep $sleep_time +else + exit 0 +fi + +pid=`aout_pid` +if [ -z "$pid" ]; then + exit 0 +fi +if grep -q salmonella /proc/$pid/environ; then + echo "[`date`] a.out still running after $sleep_time. Killing it." >> $logfile + kill -9 "$pid" +fiTrap