Fix a bug in the way of killing evobackup.

Fix a bug in the way of killing evobackup.

The process is launched by "run-parts /etc/cron.daily". When you kill the
process, run-parts is not informed and the process go in Z state (and rsync
continue to work!). When another run-parts is launched the part wich kill a
process if already launched fail.

This fix this particular bug.
This commit is contained in:
Benoît S. 2013-08-05 15:46:18 +02:00 committed by Benoit.S « Benpro »
parent 2cad6c71d3
commit cddbd002f9

View file

@ -5,7 +5,12 @@
# Verify if an EvoBackup is already launched, if true, kill it.
if [ -e $PIDFILE ]; then
pkill -9 -F $PIDFILE
# Killing the childs of evobackup.
for pid in $(ps h --ppid $(cat $PIDFILE) -o pid | tr -s '\n' ' '); do
kill -9 $pid;
done
# Then kill the main PID.
kill -9 $(cat $PIDFILE)
echo "$0 is running (PID $(cat $PIDFILE)). Process killed." >&2
fi
echo "$$" > $PIDFILE