Shutdown weiter verbessert
This commit is contained in:
parent
92871f7ffb
commit
66252335f9
24
Dump.sh
24
Dump.sh
|
@ -13,12 +13,16 @@ if [ -z "$NAME" ]; then
|
||||||
NAME=0
|
NAME=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
SHUTDOWN_IN_PROGRESS="false"
|
||||||
quit() {
|
quit() {
|
||||||
echo "quitting..."
|
if [ "$SHUTDOWN_IN_PROGRESS" == "false" ]; then
|
||||||
PIDS="$(cat ${PIDFILE_BASE}_A 2>/dev/null) $(cat ${PIDFILE_BASE}_B 2>/dev/null)"
|
SHUTDOWN_IN_PROGRESS="true"
|
||||||
rm ${PIDFILE_BASE}_A ${PIDFILE_BASE}_B 2>&1 >> /dev/null
|
echo "quitting..."
|
||||||
kill $PIDS 2>/dev/null || (sleep 10; kill -9 $PIDS 2>/dev/null)
|
PIDS="$(cat ${PIDFILE_BASE}_A 2>/dev/null) $(cat ${PIDFILE_BASE}_B 2>/dev/null)"
|
||||||
exit $0
|
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
|
trap 'quit 0' SIGINT SIGTERM EXIT
|
||||||
|
@ -35,16 +39,18 @@ do_record() {
|
||||||
}
|
}
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
|
if [ ! -z "$PIDS_A" ]; then echo "killing group A"; kill -9 $PIDS_A 2>/dev/null; fi
|
||||||
echo "starting group A"
|
echo "starting group A"
|
||||||
do_record A &
|
do_record A &
|
||||||
PIDS_B=$(cat ${PIDFILE_BASE}_B 2>/dev/null)
|
PIDS_B="$(cat ${PIDFILE_BASE}_B 2>/dev/null)"
|
||||||
if [ ! -z "$PIDS_B" ]; then echo "killing group B"; kill $PIDS_B; fi
|
if [ ! -z "$PIDS_B" ]; then echo "killing group B"; kill $PIDS_B 2>/dev/null; fi
|
||||||
sleep $SECONDS_PER_FILE
|
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"
|
echo "starting group B"
|
||||||
do_record B &
|
do_record B &
|
||||||
PIDS_A=$(cat ${PIDFILE_BASE}_A 2>/dev/null)
|
PIDS_A="$(cat ${PIDFILE_BASE}_A 2>/dev/null)"
|
||||||
if [ ! -z "$PIDS_A" ]; then echo "killing group A"; kill $PIDS_A; fi
|
if [ ! -z "$PIDS_A" ]; then echo "killing group A"; kill $PIDS_A 2>/dev/null; fi
|
||||||
sleep $SECONDS_PER_FILE
|
sleep $SECONDS_PER_FILE
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue