#!/bin/sh # runvdr: Loads the DVB driver and runs VDR # # If VDR exits abnormally, the driver will be reloaded # and VDR restarted. # # Set the environment variable VDRUSR to the user id you # want VDR to run with. If VDRUSR is not set, VDR will run # as user 'vdr'. # # Since this script loads the DVB driver, it must be started # as user 'root'. # # Any command line parameters will be passed on to the # actual 'vdr' program. # # See the main source file 'vdr.c' for copyright information and # how to reach the author. # # $Id: runvdr 1.15 2005/12/31 13:30:11 kls Exp $ DVBDIR="../DVB/driver" VDRPRG="./vdr" VDRCMD="$VDRPRG -u $VDRUSR -w 60 $*" LSMOD="`/sbin/lsmod | grep -w '^dvb' | wc -l`" KILL="/usr/bin/killall -q -TERM" # Load driver if it hasn't been loaded already: if [ $LSMOD -eq 0 ] ; then (cd $DVBDIR; make insmod) fi while (true) do $VDRCMD if test $? -eq 0 -o $? -eq 2; then exit; fi date echo "restarting VDR" $KILL $VDRPRG sleep 10 (cd $DVBDIR; make rmmod; make insmod) date done