Shutdown weiter verbessert

This commit is contained in:
root 2012-03-29 13:11:39 +02:00
parent 92871f7ffb
commit 66252335f9
1 changed files with 15 additions and 9 deletions

24
Dump.sh
View File

@ -13,12 +13,16 @@ if [ -z "$NAME" ]; then
NAME=0
fi
SHUTDOWN_IN_PROGRESS="false"
quit() {
echo "quitting..."
PIDS="$(cat ${PIDFILE_BASE}_A 2>/dev/null) $(cat ${PIDFILE_BASE}_B 2>/dev/null)"
rm ${PIDFILE_BASE}_A ${PIDFILE_BASE}_B 2>&1 >> /dev/null
kill $PIDS 2>/dev/null || (sleep 10; kill -9 $PIDS 2>/dev/null)
exit $0
if [ "$SHUTDOWN_IN_PROGRESS" == "false" ]; then
SHUTDOWN_IN_PROGRESS="true"
echo "quitting..."
PIDS="$(cat ${PIDFILE_BASE}_A 2>/dev/null) $(cat ${PIDFILE_BASE}_B 2>/dev/null)"
rm -f ${PIDFILE_BASE}_A ${PIDFILE_BASE}_B
kill $PIDS 2>/dev/null || (echo "waiting for remaining proccesses..."; sleep 10; echo "killing remaining proccesses..."; kill -9 $PIDS 2>/dev/null)
exit $1
fi
}
trap 'quit 0' SIGINT SIGTERM EXIT
@ -35,16 +39,18 @@ do_record() {
}
while true; do
if [ ! -z "$PIDS_A" ]; then echo "killing group A"; kill -9 $PIDS_A 2>/dev/null; fi
echo "starting group A"
do_record A &
PIDS_B=$(cat ${PIDFILE_BASE}_B 2>/dev/null)
if [ ! -z "$PIDS_B" ]; then echo "killing group B"; kill $PIDS_B; fi
PIDS_B="$(cat ${PIDFILE_BASE}_B 2>/dev/null)"
if [ ! -z "$PIDS_B" ]; then echo "killing group B"; kill $PIDS_B 2>/dev/null; fi
sleep $SECONDS_PER_FILE
if [ ! -z "$PIDS_B" ]; then echo "killing group B"; kill -9 $PIDS_B 2>/dev/null; fi
echo "starting group B"
do_record B &
PIDS_A=$(cat ${PIDFILE_BASE}_A 2>/dev/null)
if [ ! -z "$PIDS_A" ]; then echo "killing group A"; kill $PIDS_A; fi
PIDS_A="$(cat ${PIDFILE_BASE}_A 2>/dev/null)"
if [ ! -z "$PIDS_A" ]; then echo "killing group A"; kill $PIDS_A 2>/dev/null; fi
sleep $SECONDS_PER_FILE
done