Omaha #3371 all subprocesses now killed when cave.sh is killed

Change-Id: Ibceb3f8c8902b9df94b16fac83db69b0c4dcccc2

Former-commit-id: ac70d5ff31 [formerly d6e181d301] [formerly 0973e5ac41] [formerly 0973e5ac41 [formerly 7e70fbda27]] [formerly ae5fa893a9 [formerly 0973e5ac41 [formerly 7e70fbda27] [formerly ae5fa893a9 [formerly e4becce5325aad266fd93548d27e5e122b145011]]]]
Former-commit-id: ae5fa893a9
Former-commit-id: 1589750d6ef3ab88dee548853789af4116287f7d [formerly ef9dbe97b4271805e63ea28026e72a445813455e] [formerly a1bce34fda [formerly e72c34d361]]
Former-commit-id: a1bce34fda
Former-commit-id: 97fc979b3b
This commit is contained in:
Brian Clements 2014-07-11 08:54:08 -05:00
parent 4112b13486
commit 597b8d7377

View file

@ -35,6 +35,7 @@
# Jun 20, 2014 #3245 bclement forEachRunningCave now accounts for child processes
# Jul 02, 2014 #3245 bclement account for memory override in vm arguments
# Jul 10, 2014 #3363 bclement fixed precedence order for ini file lookup
# Jul 11, 2014 #3371 bclement added killSpawn()
source /awips2/cave/iniLookup.sh
@ -312,13 +313,23 @@ function deleteOldCaveDiskCaches()
cd $curDir
}
# takes in a process id
# kills spawned subprocesses of pid
# and then kills the process itself
function killSpawn()
{
pid=$1
pkill -P $pid
kill $pid
}
# log the exit status and time to a log file, requires 2 args pid and log file
function logExitStatus()
{
pid=$1
logFile=$2
trap 'kill $pid' SIGHUP SIGINT SIGQUIT SIGTERM
trap 'killSpawn $pid' SIGHUP SIGINT SIGQUIT SIGTERM
wait $pid
exitCode=$?
curTime=`date --rfc-3339=seconds`