X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=scripts%2Fstopdaemons.sh;h=60ffd83ad1e45d8991aa4115a3e8c305acba5ddb;hb=d6bd6bb441d55182a02e92eceb650cea6df837d8;hp=6814101cb2790463ac8b5e6291ebdad25fbc0611;hpb=c4d67892751b17856b235182874c3304890dc2c3;p=quix0rs-gnu-social.git diff --git a/scripts/stopdaemons.sh b/scripts/stopdaemons.sh index 6814101cb2..60ffd83ad1 100755 --- a/scripts/stopdaemons.sh +++ b/scripts/stopdaemons.sh @@ -1,7 +1,8 @@ -#!/bin/sh +#!/bin/bash # Laconica - a distributed open-source microblogging tool -# Copyright (C) 2008, Controlez-Vous, Inc. + +# Copyright (C) 2008, 2009, Control Yourself, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -16,13 +17,39 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -# This program tries to start the daemons for Laconica. Note that the 'maildaemon' needs to run as a mail filter. +# This program tries to stop the daemons for Laconica that were +# previously started by startdaemons.sh + +SDIR=`dirname $0` +DIR=`php $SDIR/getpiddir.php` + +for f in jabberhandler ombhandler publichandler smshandler pinghandler \ + xmppconfirmhandler xmppdaemon twitterhandler facebookhandler \ + twitterstatusfetcher; do + + FILES="$DIR/$f.*.pid" + for ff in "$FILES" ; do -export INSTALLDIR=$1 + 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 +done -/sbin/start-stop-daemon -K -m --pidfile=/var/run/xmppdaemon.pid -/sbin/start-stop-daemon -K -m --pidfile=/var/run/xmppqueuehandler.pid -/sbin/start-stop-daemon -K -m --pidfile=/var/run/publicqueuehandler.pid -/sbin/start-stop-daemon -K -m --pidfile=/var/run/xmppconfirmhandler.pid -/sbin/start-stop-daemon -K -m --pidfile=/var/run/smsqueuehandler.pid -/sbin/start-stop-daemon -K -m --pidfile=/var/run/ombqueuehandler.pid