diff options
Diffstat (limited to 'cpp/etc/qpidd.in')
-rwxr-xr-x | cpp/etc/qpidd.in | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/cpp/etc/qpidd.in b/cpp/etc/qpidd.in new file mode 100755 index 0000000000..2b43625b7d --- /dev/null +++ b/cpp/etc/qpidd.in @@ -0,0 +1,119 @@ +#!/bin/bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# +# qpidd Startup script for the Qpid messaging daemon. +# + +### BEGIN INIT INFO +# Provides: qpidd +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: start or stop qpidd +# Description: Qpidd is an AMQP broker. It receives, stores, routes and forwards messages using the AMQP protcol. +### END INIT INFO + +# chkconfig: - 85 15 +# description: Qpidd is an AMQP broker. It receives, stores, routes and forwards messages using the AMQP protcol. +# processname: qpidd + +prog=qpidd +lockfile=/var/lock/subsys/$prog +pidfile=/var/run/qpidd.pid + +# Source configuration +if [ -f !!sysconfdir!!/sysconfig/$prog ] ; then + . !!sysconfdir!!/sysconfig/$prog +fi + +# Source function library. +. /etc/rc.d/init.d/functions + +RETVAL=0 + +#ensure binary is present and executable +if [[ !(-x !!sbindir!!/$prog) ]] ; then + echo "!!sbindir!!/$prog not found or not executable" + exit 5 +fi + +#ensure user has sufficient permissions +runuser -s /bin/sh qpidd -c "echo x > /dev/null" 2> /dev/null || RETVAL=4 +if [ $RETVAL = 4 ]; then + echo "user had insufficient privilege"; + exit $RETVAL +fi + +start() { + [[ $QPID_DATA_DIR ]] || QPID_DATA_DIR=/var/lib/qpidd + echo -n $"Starting Qpid AMQP daemon: " + daemon --pidfile $pidfile --check $prog --user qpidd !!sbindir!!/$prog --data-dir $QPID_DATA_DIR --daemon $QPIDD_OPTIONS + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch $lockfile + if [ $RETVAL = 0 ]; then + touch $pidfile + chown qpidd.qpidd $pidfile + [ -x /sbin/restorecon ] && /sbin/restorecon $pidfile + runuser - -s /bin/sh qpidd -c "!!sbindir!!/$prog --check > $pidfile" + fi + return $RETVAL +} + +stop() { + echo -n $"Stopping Qpid AMQP daemon: " + killproc -p ${pidfile} $prog + RETVAL=$? + echo + [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} +} + +reload() { + echo 1>&2 $"$0: reload not supported" + exit 3 +} + +restart() { + stop + start +} + +# See how we were called. +case "$1" in + start|stop|restart|reload) + $1 + ;; + status) + status $prog + RETVAL=$? + ;; + force-reload) + restart + ;; + try-restart|condrestart) + [ -e $lockfile ] && restart || : + ;; + *) + echo 1>&2 $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|force-reload}" + exit 2 +esac + +exit $RETVAL |