#
# 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.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.
+#
# Revision 1.5 2001/06/11 11:37:40 sarantis
# Minor editing changes.
#
# 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="/etc/junkbuster"/$JB_PRG.pid
+
+# some checks for us
+[ -x $JB_BIN ] || exit 0
+[ -f $JB_CONF ] || exit 0
# See how we were called.
-JB="/usr/sbin/junkbuster /etc/junkbuster/config & "
+JB="$JB_BIN $JB_CONF"
+
start () {
# start daemon
- [ -f /var/lock/subsys/junkbuster ] && exit 0
- echo -n $"Starting junkbuster: "
- daemon --user junkbust '$JB'
+ echo -n $"Starting $JB_PRG: "
+ daemon --user $JB_USER $JB
RETVAL=$?
echo
- [ $RETVAL = 0 ] && touch /var/lock/subsys/junkbuster
+ [ $RETVAL = 0 ] && touch /var/lock/subsys/$JB_PRG
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 /var/lock/subsys/$JB_PRG $JB_PID
+ RETVAL=$?
echo
return $RETVAL
}
stop)
stop
;;
- reload|restart)
+ reload)
+ if [ -f $JB_PID ] ; then
+ kill -HUP `cat $JB_PID`
+ RETVAL=$?
+ fi
+ ;;
+ restart)
stop
start
RETVAL=$?
;;
condrestart)
# restart only if already running
- if [ -f /var/lock/subsys/junkbuster ] ; then
+ 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