VDR als Service

  • Hi, ich hab mir mal gedacht, es wär doch need so schlecht dvb und vdr als service unter /etc/init.d/vdr und /etc/init.d/dvb zu haben und somit auch dementsprechend zu starten.


    dann könnten die die vdr auch für den Linux desktop nutzen halt nur noch ein tv tool starten.
    Was übrigens klasse geht mit xawtv, wie hier schon beschrieben wurde, kann es jetzt auch vdr steuern.


    für alle die intresse haben, hab ich hier mal beide scripts, sind für redhat 9, sollten aber leicht änderbar sein.


    #! /bin/sh
    #
    #
    ### BEGIN INIT INFO
    # Provides: DVB
    # Required-Start:
    # Required-Stop:
    # X-UnitedLinux-Should-Stop:
    # Default-Start: 3 5
    # Default-Stop: 0 1 6
    # Description: This script is loading the DVB Drivers
    ### END INIT INFO
    #
    VDRHOME="/usr/local/vdr"


    # Source function library.
    if [ -f /etc/init.d/functions ] ; then
    . /etc/init.d/functions
    elif [ -f /etc/rc.d/init.d/functions ] ; then
    . /etc/rc.d/init.d/functions
    else
    exit 0
    fi


    # Avoid using root's TMPDIR
    unset TMPDIR



    RETVAL=0



    start() {
    KIND="DVB"
    echo -n $"Starting $KIND services: "
    cd $VDRHOME/DVB/driver ;
    make insmod > /dev/null 2>&1 &
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dvb || \
    RETVAL=1
    return $RETVAL
    }


    stop() {
    KIND="DVB"
    echo -n $"Shutting down $KIND services: "
    killall -9 vdr > /dev/null 2>&1
    killall -9 runvdr > /dev/null 2>&1
    killall -9 xawtv > /dev/null 2>&1
    cd $VDRHOME/DVB/driver ;
    make rmmod > /dev/null 2>&1
    RETVAL=$?
    echo
    RETVAL2=$?
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dvb
    echo ""
    return $RETVAL
    }


    restart() {
    stop
    start
    }


    rhstatus() {
    status DVB
    }


    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    restart
    ;;
    status)
    rhstatus
    ;;
    *)
    echo $"Usage: $0 {start|stop|status|restart}"
    exit 1
    esac



    und



    #!/bin/sh
    #
    # chkconfig: - 91 35
    # description: Starts and stops the VDR daemons \
    #


    VDRHOME="/usr/local/vdr/VDR"


    # Source function library.
    if [ -f /etc/init.d/functions ] ; then
    . /etc/init.d/functions
    elif [ -f /etc/rc.d/init.d/functions ] ; then
    . /etc/rc.d/init.d/functions
    else
    exit 0
    fi


    # Avoid using root's TMPDIR
    unset TMPDIR



    RETVAL=0



    start() {
    KIND="VDR"
    echo -n $"Starting $KIND services: "
    cd $VDRHOME ;
    sudo -u michel ./vdr -c /var/video -v /export/vdr -Pmplayer > /dev/null 2>&1 &
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/vdr || \
    RETVAL=1
    return $RETVAL
    }


    stop() {
    KIND="SMB"
    echo -n $"Shutting down $KIND services: "
    killall -9 vdr
    RETVAL=$?
    echo
    RETVAL2=$?
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/vdr
    echo ""
    return $RETVAL
    }


    restart() {
    stop
    start
    }


    rhstatus() {
    status VDR
    }


    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    restart
    ;;
    status)
    rhstatus
    ;;
    *)
    echo $"Usage: $0 {start|stop|status|restart}"
    exit 1
    esac


    exit $?




    ich hab noch ein Problem mit der status abfrage, es kommt leider immer nur "service ist tot"


    vielleicht kann mir da einer helfen.

  • Hi,


    sowas gibt es hier schon zu hauf.


    Was soll eigentlich diese Konstruktion :

    Code
    make insmod > /dev/null 2>&1 &
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dvb || \
    RETVAL=1
    return $RETVAL


    Der returncode ist doch immer null wenn der start an sich als Hintergrundprozess ok ist.


    Gruss
    Dimitri

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!