diff --git a/scripts/getpiddir.php b/scripts/getpiddir.php new file mode 100755 index 0000000000..b4dda2254c --- /dev/null +++ b/scripts/getpiddir.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +. + */ + +# Abort if called from a web server +if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { + print "This script must be run from the command line\n"; + exit(); +} + +define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); +define('LACONICA', true); + +require_once(INSTALLDIR . '/lib/common.php'); + +echo common_config('daemon','piddir'); diff --git a/scripts/startdaemons.sh b/scripts/startdaemons.sh index a862b9dfe9..685bd938fa 100755 --- a/scripts/startdaemons.sh +++ b/scripts/startdaemons.sh @@ -20,12 +20,12 @@ # This program tries to start the daemons for Laconica. # Note that the 'maildaemon' needs to run as a mail filter. -export INSTALLDIR=$1 +DIR=`dirname $0` for f in xmppdaemon.php jabberqueuehandler.php publicqueuehandler.php \ xmppconfirmhandler.php smsqueuehandler.php ombqueuehandler.php; do echo -n "Starting $f..."; - php $INSTALLDIR/scripts/$f; + php $DIR/$f echo "DONE." done diff --git a/scripts/stopdaemons.sh b/scripts/stopdaemons.sh new file mode 100755 index 0000000000..b8b16763f4 --- /dev/null +++ b/scripts/stopdaemons.sh @@ -0,0 +1,42 @@ +#!/bin/sh + +# Laconica - a distributed open-source microblogging tool + +# Copyright (C) 2008, Controlez-Vous, 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 +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +# This program tries to stop the daemons for Laconica that were +# previously started by startdaemons.sh + +DIR=`php getpiddir.php` + +for f in jabberhandler ombhandler publichandler smshandler \ + xmppconfirmhandler xmppdaemon; 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." + fi + rm -f $ff + done +done +