diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2009-04-13 09:50:24 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2009-04-13 09:50:24 +0000 |
| commit | a94d493b90fe86406675585484841d388750eb81 (patch) | |
| tree | e625142e161c351d5d2e7855d2489e60ee75ced3 | |
| parent | c4faa65e3f9d2577fd8ff51d6b9142ab3fc0d22b (diff) | |
| download | xxv-a94d493b90fe86406675585484841d388750eb81.tar.gz xxv-a94d493b90fe86406675585484841d388750eb81.tar.bz2 | |
* etc/xxvd handle restart if pid stalled
* release xxv-1.3
| -rwxr-xr-x | etc/xxvd | 67 |
1 files changed, 41 insertions, 26 deletions
@@ -11,32 +11,33 @@ # processname: xxvd # config: xxvd.cfg # -# to Setup, where is xxvd located -# In welchem Ordner befindet sich bin/xxvd +# Need to setup : +# Define FOLDER directory, ( $FOLDER/bin/xxvd ) FOLDER="/root/XXV" +# How verbose should log file (0 ... 5) +VERBOSE="3" # Run as noprivileged user, else set empty -RUNAS="root" +RUNAS="vdr" # Which translation is used LANGUAGE="de_DE@euro"; -# See how we were called. -PROG="bin/xxvd" - +# Adjust some moduls directories MODPATH="$FOLDER/lib/XXV/MODULES" CONFIG="$FOLDER/etc/xxvd.cfg" -PIDFILE="/var/run/xxvd.pid" HTMLDIR="$FOLDER/" DOCUDIR="$FOLDER/doc/" PODDIR="$FOLDER/doc/" -LOGFILE="/var/log/xxvd.log" CONTRIB="$FOLDER/contrib" NEWSMODS="$FOLDER/lib/XXV/OUTPUT/NEWS" NEWSTMPL="$FOLDER/share/news" -VERBOSE="3" +PIDFILE="/var/run/xxvd.pid" +LOGFILE="/var/log/xxvd.log" + +# Create options from OPTIONS="--configfile $CONFIG \ --logfile $LOGFILE \ --pidfile $PIDFILE \ @@ -49,37 +50,51 @@ OPTIONS="--configfile $CONFIG \ --moduledir $MODPATH \ --verbose $VERBOSE" +# See how we were called. +PROG="bin/xxvd" + start() { - echo -n "Start $PROG: " - su - $RUNAS -c "export LANG="$LANGUAGE";cd $FOLDER;nice -n 10 ./$PROG $OPTIONS" + echo -n "Start $PROG: " + + if [ -r "$PIDFILE" ]; then + PID=$(cat "$PIDFILE") + if [ -r "/proc/$PID/cmdline" ]; then + grep "xxvd" /proc/$PID/cmdline >/dev/null 2>&1 \ + || rm -f "$PIDFILE" + else + rm -f "$PIDFILE" + fi + fi + + su - $RUNAS -c "export LANG="$LANGUAGE";cd $FOLDER;nice -n 10 ./$PROG $OPTIONS" } stop() { - echo -n "Stop $PROG: " - su - $RUNAS -c "export LANG="$LANGUAGE";cd $FOLDER;./$PROG --kill $OPTIONS" + echo -n "Stop $PROG: " + su - $RUNAS -c "export LANG="$LANGUAGE";cd $FOLDER;./$PROG --kill $OPTIONS" } restart() { - stop - start + stop + start } case "$1" in start) - start - exit 0; - ;; + start + exit 0; + ;; stop) - stop - exit 0; - ;; + stop + exit 0; + ;; restart) - restart - exit 0; - ;; + restart + exit 0; + ;; *) - echo $"Usage: $0 {start|stop|status|restart}" - exit 1 + echo $"Usage: $0 {start|stop|status|restart}" + exit 1 esac exit $? |
