#
# Purpose : This shell script takes care of starting and stopping
# junkbuster.
-# This works only correctly if the user `nobody' is allowed
-# to be in the directory where this file is called
-# (for example: /root is NOT ok)
#
# Copyright : Written by and Copyright (C) 2001 the SourceForge
# IJBSWA team. http://ijbswa.sourceforge.net
#
# Revisions :
# $Log: junkbuster.init,v $
+# Revision 1.13 2002/03/05 05:10:10 oes
+# Changed pidfile path to conform with FHS
+#
+# Revision 1.12 2002/03/04 20:44:36 oes
+# Changed to new cmdline syntax
+#
+# Revision 1.11 2001/12/30 14:07:32 steudten
+# - Add signal handling (unix)
+# - Add SIGHUP handler (unix)
+# - Add creation of pidfile (unix)
+# - Add action 'top' in rc file (RH)
+# - Add entry 'SIGNALS' to manpage
+# - Add exit message to logfile (unix)
+#
+# Revision 1.10 2001/11/05 21:30:23 steudten
+# Make JB startup without & due to be a 'real' daemon right now.
+# Make the script easy to change.
+#
+# Revision 1.9 2001/09/15 01:53:12 steudten
+#
+# Remove test for subsys flag in start. Some minor changes.
+#
+# Revision 1.8 2001/06/28 13:50:36 sarantis
+# swap ?$ with $?; remove bogus ";;"
+#
+# Revision 1.7 2001/06/28 13:40:26 sarantis
+# remove single quotes from $JB; it was not expanded.
+#
# Revision 1.6 2001/06/28 13:38:42 sarantis
# formatting changes; individual return values are returned from the init script.
#
# chkconfig: 235 84 09
#
# description: This shell script takes care of starting and stopping \
-# junkbuster.
+# junkbuster.
#
+
# Source function library.
. /etc/rc.d/init.d/functions
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
-[ -f /usr/sbin/junkbuster ] || exit 0
-[ -f /etc/junkbuster/config ] || exit 0
+JB_PRG="junkbuster"
+JB_BIN="/usr/sbin/$JB_PRG"
+JB_CONF="/etc/$JB_PRG/config"
+JB_USER="junkbuster"
+JB_PID=/var/run/$JB_PRG.pid
+JB_LOCK=/var/lock/subsys/$JB_PRG
+JB="$JB_BIN --user $JB_USER --pidfile $JB_PID $JB_CONF"
+
+# some checks for us
+! [ -x $JB_BIN ] && echo "Can't find $JB_BIN, exit." && exit 0
+! [ -f $JB_CONF ] && echo "Can't find $JB_CONF, exit." && exit 0
# See how we were called.
-JB="/usr/sbin/junkbuster /etc/junkbuster/config & "
start () {
# start daemon
- [ -f /var/lock/subsys/junkbuster ] && exit 0
- echo -n $"Starting junkbuster: "
- daemon --user junkbust $JB
+ echo -n $"Starting $JB_PRG: "
+ if [ -f $JB_PID ]; then
+ killproc $JB_PRG && rm -f $JB_LOCK $JB_PID
+ RETVAL=$?
+ [ $RETVAL != 0 ] && return $RETVAL
+ fi
+ daemon $JB
RETVAL=$?
echo
- [ $RETVAL = 0 ] && touch /var/lock/subsys/junkbuster
+ [ $RETVAL = 0 ] && touch $JB_LOCK
return $RETVAL
}
stop () {
# stop daemon
- echo -n $"Stopping junkbuster: "
- killproc junkbuster && rm -f /var/lock/subsys/junkbuster
- RETVAL=?$
+ echo -n $"Stopping $JB_PRG: "
+ killproc $JB_PRG && rm -f $JB_LOCK $JB_PID
+ RETVAL=$?
echo
return $RETVAL
}
start
;;
stop)
- stop
+ stop
+ ;;
+ reload)
+ if [ -f $JB_PID ] ; then
+ kill -HUP `cat $JB_PID`
+ RETVAL=$?
+ fi
;;
- reload|restart)
+ restart)
stop
start
RETVAL=$?
;;
condrestart)
# restart only if already running
- if [ -f /var/lock/subsys/junkbuster ] ; then
- stop
- start
- RETVAL=$?
- ;;
+ if [ -f $JB_PID ] ; then
+ stop
+ start
+ RETVAL=$?
fi
;;
status)
- status junkbuster
+ status $JB_PRG
RETVAL=$?
;;
+ top)
+ if [ -f $JB_PID ]; then
+ a=""
+ for i in `pidof $JB_PRG` ; do
+ a="$a -p $i"
+ done
+ top $a
+ fi
+ ;;
*)
- echo $"Usage: junkbuster {start|stop|reload|restart|condrestart|status}"
+ echo $"Usage: $JB_PRG {start|stop|reload|restart|condrestart|status|top}"
exit 1
esac