X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=scripts%2Fstopdaemons.sh;h=764037e8ff0bb4f06d7d6041d0f06437ab22d748;hb=78564c21d46d56a2cf413b9ba804d5a60430f06e;hp=fd4406d415b35f766c200c5e3dc85cf2705edde5;hpb=2eb6a6a9b02b51d9c8aa2f7bcff559681dd33b90;p=quix0rs-gnu-social.git diff --git a/scripts/stopdaemons.sh b/scripts/stopdaemons.sh index fd4406d415..764037e8ff 100755 --- a/scripts/stopdaemons.sh +++ b/scripts/stopdaemons.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # Laconica - a distributed open-source microblogging tool @@ -23,19 +23,31 @@ SDIR=`dirname $0` DIR=`php $SDIR/getpiddir.php` -for f in jabberhandler ombhandler publichandler smshandler \ - xmppconfirmhandler xmppdaemon twitterhandler facebookhandler ; do +for f in jabberhandler ombhandler publichandler smshandler pinghandler \ + xmppconfirmhandler xmppdaemon twitterhandler facebookhandler \ + memcachehandler inboxhandler twitterstatusfetcher; do FILES="$DIR/$f.*.pid" for ff in "$FILES" ; do - echo -n "Stopping $f..." - PID=`cat $ff` - kill -3 $PID - if kill -9 $PID ; then - echo "DONE." - else - echo "FAILED." + PID=`cat $ff 2>/dev/null` + if [ -n "$PID" ] ; then + echo -n "Stopping $f ($PID)..." + if kill -3 $PID 2>/dev/null ; then + count=0 + while kill -0 $PID 2>/dev/null ; do + sleep 1 + count=$(($count + 1)) + if [ $count -gt 5 ]; then break; fi + done + if kill -9 $PID 2>/dev/null ; then + echo "FORCIBLY TERMINATED" + else + echo "STOPPED CLEANLY" + fi + else + echo "NOT FOUND" + fi fi rm -f $ff done