summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rwxr-xr-xcpp/etc/qpidd12
1 files changed, 9 insertions, 3 deletions
diff --git a/cpp/etc/qpidd b/cpp/etc/qpidd
index 55d885ef66..d9076191d6 100755
--- a/cpp/etc/qpidd
+++ b/cpp/etc/qpidd
@@ -19,6 +19,7 @@
prog=qpidd
lockfile=/var/lock/subsys/$prog
+pidfile=/var/run/qpidd.pid
# Source function library.
. /etc/rc.d/init.d/functions
@@ -31,19 +32,24 @@ RETVAL=0
start() {
echo -n $"Starting Qpid AMQP daemon: "
- daemon --check $prog "runuser -s /bin/sh qpidd -c \"$prog --daemon $QPIDD_OPTIONS\""
+ daemon --pidfile $pidfile --check $prog --user qpidd $prog --daemon $QPIDD_OPTIONS
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch $lockfile
+ if [ $RETVAL = 0 ]; then
+ touch $pidfile
+ chown qpidd.qpidd $pidfile
+ runuser -s /bin/sh qpidd -c "qpidd -c > $pidfile"
+ fi
return $RETVAL
}
stop() {
echo -n $"Stopping Qpid AMQP daemon: "
- killproc $prog
+ killproc -p ${pidfile} $prog
RETVAL=$?
echo
- [ $RETVAL = 0 ] && rm -f $lockfile
+ [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}
reload() {