start/stop/restart/status script for darkice by Niels Dettenbach

This commit is contained in:
rafael@riseup.net 2009-11-14 15:22:42 +00:00
parent 4e00387873
commit 8dddc12759
1 changed files with 130 additions and 0 deletions

130
darkice/trunk/rc.darkice Normal file
View File

@ -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