#
# innd InterNet News System
#
-# chkconfig: 345 95 05
-# description: inn is the most popular server for Usenet news. It allows \
-# you to setup local news servers. It can be difficult to \
-# set up properly though, so be sure to read /usr/doc/inn* \
-# before trying.
+# chkconfig: 345 95 05
+# description: inn is the most popular server for Usenet news. It allows \
+# you to setup local news servers. It can be difficult to \
+# set up properly though, so be sure to read /usr/doc/inn* \
+# before trying.
# Source function library.
. /etc/rc.d/init.d/functions
. /usr/share/news/innshellvars
# Check that networking is up.
-[ "${NETWORKING}" = "no" ] && exit 0
+if is_no "${NETWORKING}"; then
+ msg_Network_Down "INN"
+ exit 1
+fi
+
# See how we were called.
case "$1" in
start)
if [ ! -f /var/lock/subsys/inn ]; then
- show Starting INN service
- daemon inndstart
-
-# DOINNWATCH=`echo ${DOINNWATCH} | tr A-Z a-z`
-# if [ -z "${DOINNWATCH}" -o "${DOINNWATCH}" = "on" -o "${DOINNWATCH}" = "true" -o "${DOINNWATCH}" = "yes" ]; then
-# show Starting INN Watch service
-# busy
-# /usr/bin/innwatch &
-# deltext;ok
-# fi
+ msg_starting "INN"
+ daemon inndstart
+ if is_yes $DOINNWATCH ; then
+ msg_starting "INN Watch"
+ busy
+ su - news -c "/usr/bin/innwatch &"
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/inn
+ if ps -C innwatch >/dev/null 2>&1; then
+ deltext;ok
+ else
+ deltext;fail
+ fi
+ else
+ touch /var/lock/subsys/inn
+ fi
else
- echo 'INND is running'
+ msg_Already_Running "INN"
+ exit 1
fi
- touch /var/lock/subsys/inn
;;
stop)
- if [ -f /var/run/news/innd.pid ]; then
- show Stopping INN service
- killproc innd
- rm -f /var/run/news/innd.pid
- fi
+ if [ -f /var/lock/subsys/inn ]; then
+ msg_stopping "INN"
+ busy
+ if ctlinnd shutdown "Stopping INN service";then
+ deltext;ok
+ else
+ deltext;fail
+ fi
-# if [ -f /var/run/news/innwatch.pid ]; then
-# show Stopping INN Watch service
-# killproc innwatch -9
-# rm -f /var/run/news/innwatch.pid /var/run/news/LOCK.innwatch
-# fi
+ if [ -f /var/run/news/innwatch.pid ]; then
+ msg_stopping "INN Watch"
+ busy
+ if killall -9 innwatch; then
+ deltext;ok
+ else
+ deltext;died
+ fi
+ rm -f /var/run/news/innwatch.pid \
+ /var/run/news/LOCK.innwatch >/dev/null 2>&1
+ fi
- if [ -f /var/run/news/infeed.pid ]; then
- show Stopping INN Feed service
- killproc innfeed -9
- rm -f /var/run/news/innfeed.pid
- fi
+ if [ -f /var/run/news/infeed.pid ]; then
+ msg_stopping "INN Feed"
+ killproc innfeed -9
+ rm -f /var/run/news/innfeed.pid >/dev/null 2>&1
+ fi
- if [ -f /var/run/news/actived.pid ]; then
- show Stopping INN Actived service
- killproc actived -9
- rm -f /var/run/news/actived.pid
- fi
+ if [ -f /var/run/news/actived.pid ]; then
+ msg_stopping "INN Actived"
+ killproc actived -9
+ rm -f /var/run/news/actived.pid >/dev/null 2>&1
+ fi
- rm -f /var/lock/subsys/inn
+ else
+ msg_Not_Running INN
+ exit 1
+ fi
+ rm -f /var/lock/subsys/inn >/dev/null 2>&1
;;
status)
status innd
;;
reload)
- show Reloading INND service
- killproc innd -HUP
+ if [ -f /var/lock/subsys/inn ]; then
+ msg_reloading "INN"
+ busy
+ if ctlinnd reload all "Reloading" >/dev/null 2>&1; then
+ deltext;ok
+ else
+ deltext;fail
+ fi
+ else
+ msg_Not_Running INN
+ exit 1
+ fi
;;
restart)
$0 stop
+ sleep 2
$0 start
;;
*)
- echo "Usage: $0 {start|stop|status|restart}"
+ msg_Usage "$0 {start|stop|status|restart|reload}"
exit 1
;;
esac
-exit 0
+exit $RETVAL