diff options
author | Alex Brelsfoard <alex@freeside.biz> | 2015-02-10 00:11:07 -0500 |
---|---|---|
committer | Alex Brelsfoard <alex@freeside.biz> | 2015-02-10 00:11:07 -0500 |
commit | ec7e8155fce544f19f2b6734476ed6db8c200aa9 (patch) | |
tree | 8b336b67d075006b6fcbcaa110307cc2413f5554 /init.d/freeside-init | |
parent | d422d2530bda9de3af830f1e1ab1084061b486f5 (diff) | |
parent | 0238fd7aa7a92887970507346ac7e6ad8ed5492c (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'init.d/freeside-init')
-rw-r--r-- | init.d/freeside-init | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/init.d/freeside-init b/init.d/freeside-init index 92e3fdfe0..705afc184 100644 --- a/init.d/freeside-init +++ b/init.d/freeside-init @@ -160,6 +160,7 @@ case "$1" in then echo -n "Stopping (old) freeside-selfservice-server: " kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid` + sleep rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid echo "done." fi @@ -168,9 +169,20 @@ case "$1" in for MACHINE in $SELFSERVICE_MACHINES; do if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid ] then - echo -n "Stopping freeside-selfservice-server to $MACHINE: " - kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` + echo -n "Stopping freeside-selfservice-server to $MACHINE" + howlong=10 + while [ $howlong -gt 0 ] && kill -0 `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` 2>/dev/null; do + echo -n '.' + kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` + sleep 1 + howlong=$(( $howlong - 1 )) + if [ $howlong -eq 0 ]; then + echo -n 'forcefully.' + kill -9 `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` + fi + done echo "done." + rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid fi done |