#! /bin/sh
# Author: Petter Reinholdtsen <pere@hungry.com>
+# Author: Sven Hoexter <sven@timegate.de>
# License: GNU General Public License v2 or later
# mpt-statusd - Check mpt-status values in the background.
PIDFILE=/var/run/$NAME.pid
STATUSFILE=/var/run/$NAME.status
SCRIPTNAME=/etc/init.d/$NAME
-
+LOCKFILE=/var/lock/subsys/$NAME
# Do not touch you can configure this in /etc/default/mpt-statusd
MAILTO=root # Where to report problems
elif check_daemon ; then
# Use daemonize to turn it into a daemon and start it with daemon().
daemon --pidfile $PIDFILE /usr/sbin/daemonize $SCRIPTNAME check_mpt
- return 0
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch $LOCKFILE
+ return $RETVAL
else
log_warning_msg "Daemon is already running. Refusing to start another"
return 0
#
d_stop() {
if [ -f $PIDFILE ] ; then
- killproc -p $PIDFILE $SCRIPTNAME > /dev/null 2>&1
- rm -f $PIDFILE
+ killproc $SCRIPTNAME
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ] ; then
+ success "$NAME stopped"
+ rm -f $PIDFILE $LOCKFILE
+ return 0
+ else
+ log_failure_msg "$NAME failed to stop"
+ return 1
+ fi
else
- log_warning_msg "Daemon is already stopped."
+ log_warning_msg "$NAME is already stopped."
return 0
fi
}
# therefore can be used by a restart
d_stop_by_restart() {
if [ -f $PIDFILE ] ; then
- killproc -p $PIDFILE $SCRIPTNAME > /dev/null 2>&1
- rm -f $PIDFILE
+ killproc -p $PIDFILE $SCRIPTNAME > /dev/null 2>&1
+ rm -f $PIDFILE $LOCKFILE
else
log_warning_msg "Daemon is already stopped."
fi
case "$1" in
start)
- echo -n ""
- echo -n $"Starting $DESC: $NAME"
+ echo $"Starting $DESC: $NAME"
d_start
+ echo
;;
stop)
- echo -n $"Stopping $DESC: $NAME"
+ echo $"Stopping $DESC: $NAME"
d_stop
+ echo
;;
check_mpt)
check_mpt
;;
restart|force-reload)
- echo -n "Restarting $DESC: $NAME"
+ echo "Restarting $DESC: $NAME"
d_stop_by_restart
sleep 1
d_start
+ echo
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2