From b686f2c97755fa9facf43e6901689dc0d709890a Mon Sep 17 00:00:00 2001 From: "rafael@riseup.net" Date: Sat, 14 Nov 2009 16:18:33 +0000 Subject: [PATCH] start/stop/restart/status script for darkice by Niels Dettenbach --- darkice/branches/darkice-macosx/rc.darkice | 130 +++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 darkice/branches/darkice-macosx/rc.darkice diff --git a/darkice/branches/darkice-macosx/rc.darkice b/darkice/branches/darkice-macosx/rc.darkice new file mode 100644 index 0000000..16180c1 --- /dev/null +++ b/darkice/branches/darkice-macosx/rc.darkice @@ -0,0 +1,130 @@ +#!/bin/sh +# generic init file for darkice +# +# Author: +# Niels Dettenbach - nd@syndicat.com - 2009-11-05 +# +# License: +# GPLv3 (2009) +# + +## settings ## +# check your paths! + +program=/usr/bin/darkice +pidfile=/var/run/darkice.pid +configfile=/etc/darkice.cfg +logfile=/var/log/darkice.log +progname="darkice" +restart_delay=2 +verbose="5" + +## end of settings ## + +RETVAL=0 +if [ ! -f $configfile ] +then + echo "$progname: config file not found" + exit +fi + +if [ ! -f $program ] +then + echo "$progname: programm file $program not found" + exit +fi + +case $1 in +'start') + if [ -f $pidfile ]; then + PID=`cat $pidfile` + running=`ps --no-headers -o "%c" -p $PID` + if ( [ "$progname" == "$running" ] ); then + echo "$progname is still running" + else + echo "$progname seems crashed - PID does not match the deamon" + echo "removing stale PID File $pidfile" + rm $pidfile + $0 start + exit $? + fi + exit 0 + else + echo -n $"Starting $progname " + RETVAL=1 + $program -v $verbose -c $configfile 2>%1 >> $logfile & + echo + RETVAL=$? + if [ $RETVAL -eq 0 ]; then + echo $! > $pidfile + echo " started" + else + echo " not started" + echo $RETVAL + exit 0 + fi + RETVAL=$? + fi +;; +'stop') + if [ -f $pidfile ]; then + echo -n $"Stop $progname " + PID=`cat $pidfile` + kill -s TERM $PID 2> /dev/null + echo + sleep $restart_delay + rm $pidfile + echo " stopped" + else + echo "$progname not running" + fi + RETVAL=$? +;; +'status') + if [ -f $pidfile ]; then + PID=`cat $pidfile` + running=`ps --no-headers -o "%c" -p $PID` + if ( [ "$progname" == "$running" ] ); then + echo "$progname IS running with PID `cat $pidfile`." + else + echo "$progname process is dead or stale PID File $pidfile" + exit 0 + fi + else + echo "$progname is not running" + exit 0 + fi +;; +'restart') + $0 stop + $0 start + RETVAL=$? +;; + +'restartifdown') + if [ -f $pidfile ]; then + PID=`cat $pidfile` + running=`ps --no-headers -o "%c" -p $PID` + if ( [ "$progname" == "$running" ] ); then + echo "$progname IS running with PID `cat $pidfile` - no restart." + else + echo "$progname PID $PID seems dead - restart" + $0 stop + $0 start + RETVAL=$? + fi + else + echo "PID file $pidfile found - restart" + $0 stop + $0 start + RETVAL=$? + fi +;; + +*) + echo "Usage: $0 {start|stop|restart|status|restartifdown} " + exit 1; +;; +esac + +exit $RETVAL