#!/bin/sh # # run squeezeserver . /etc/init.d/rc.functions rm -f /tmp/squeezeserver_stop case "$1" in -k) touch /tmp/squeezeserver_stop killproc "/usr/share/squeezeserver/slimserver.pl" 10 exit $? ;; -r) killproc "/usr/share/squeezeserver/slimserver.pl" 10 exit $? ;; -n) norestart=1 ;; -*) echo "Usage $0 {-k | -r | -n}" echo " -k kill squeezeserver" echo " -r restart squeezeserver" echo " -n no restart if an error occur" exit 1 ;; esac ps=$(ps); echo "$ps" | grep "{${0##*/}}" | grep -q -v $$ && { echo "${0##*/} is already running"; exit 1; } while (true) do . /etc/rc.config starttime=`date +%s` # starting squeeze server eval /usr/share/squeezeserver/slimserver.pl --user=root --prefsdir /var/lib/squeezeserver/prefs --logdir /var/log/squeezeserver --cachedir /var/lib/squeezeserver/cache --charset=utf8 --httpport ${SQUEEZESERVER_PORT-8004} $SQUEEZESERVER_ARGS test -e /tmp/squeezeserver_stop && break echo -n "squeezeserver exits at "; date test -e /tmp/squeezeserver_stop -o "$norestart" = "1" && break # schnelle wiederholte Neustarts verzögern if [ $starttime -gt $(( `date +%s` - 15 )) ]; then sleep 10 # waiting for squeezeserver fi done rm -f /tmp/squeezeserver_stop