• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Programm (vlc) im Hintergund laufen lassen

hi,

die Überschrift klingt simpel, normalerweise ist es das auch.

folgendes Problem:

Ich habe einen Linux Server (suse10.0) mit einer DVB-C Karte drin. Die Karte soll auf den ARD Hörfunktransponder tunen und 8 Radios gleichzeitig ins Netz streamen (vlc). Der Server ist nur via ssh erreichtbar (kein Moni/Maus/Tastatur).

VLC läuft, streamen klappt, nur in der Hintergrund bekomme ich das VLC nicht geschoben.
Aktuell logge ich mich per ssh ein und zünde meinen Befehl. Wenn ich die Verbindung beende wird auch vlc beendet.

Nun dachte ich, ich hänge an den String

> /dev/null 2>&1 &

an, und schicke damit die Ausgabe in den Müll und das VLC in den Hintergrund. Das Programm stürzt mir aber Sekunden später ab.
Ohne > /dev/null 2>&1 & läuft der Kram (solange halt das ssh Fenster aktiv ist).
Der komplette String lautet

vlc -vvv --ts-es-id-pid --programs=28423,28432,28434,28437,28440,28450,28456,28475 dvb: --dvb-frequency=113000000 --dvb-srate=6900000 --dvb-modulation=64 --sout-standard-access=http --sout-standard-mux=raw --sout '#duplicate{dst=std{url=:8062},select="program=28423",dst=std{url=:8063},select="program=28432",dst=std{url=:8064},select="program=28434",dst=std{url=:8065},select="program=28437",dst=std{url=:8066},select="program=28440",dst=std{url=:8067},select="program=28450",dst=std{url=:8068},select="program=28456",dst=std{url=:8069},select="program=28475"}' > /dev/null 2>&1 &

Ich kann keinen Fehler entdecken, bei anderen Anwendungen habe ich es immer genauso gemacht.
 
Versuche einmal, den VLC in einem screen-Terminal laufen zu lassen. Also 'screen' eintippen, Return, Befehl absetzen, Strg-A und D drücken, fertig.
 
ok das funzt ;-)
VLC stürzte immer erst ab, nachdem nach dem String erneut etwas eingegeben wurde.

Nun läuft der VLC auch nach Beenden der SSH Verbindung, nur wie bekomme ich nun das Prozedere in ein Start Script gepackt (so das der VLC nach dem Start des PC automatisch los läuft ?)

Ich habe schon einige StartScripte erstellt (z.b. Shoutcast Server) nur dort klappte es nach der beschriebenen Methode.


Beispiel:

#! /bin/sh

### BEGIN INIT INFO
# Provides VLC Server mit Star*FM
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $syslog $remote_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: VLC Server/Star*FM
# Description: Startet den VLC Server mit Star*FM Berlin MMS Stream
### END INIT INFO


. /etc/rc.status

rc_reset


PROG=/usr/bin/vlc
PARAMETER="-I http -vvv mms://xmitter-berlin1.interdotnet.de/radio-starfm-berlin --sout #transcode{acodec=mp3,ab=96,channels=2}:standard{access=http,mux=raw,url=:8090}"



case "$1" in
'start')
echo "Starting VLC Server/Star*FM_Stream";
$PROG $PARAMETER > /dev/null 2>&1 &
rc_status -v1
;;

'stop')
echo "Stopping VLC Server";
killall $PROG
rc_status -v1
;;

*)
echo "Usage: $0 { start | stop }"


exit 1
;;

esac
exit 0
rc_exit



ich hänge also hinter dem
PARAMETER="-I http -vvv mms://xmitter-berlin1.interdotnet.de/radio-starfm-berlin --sout #transcode{acodec=mp3,ab=96,channels=2}:standard{access=http,mux=raw,url=:8090}"

noch

$PROG $PARAMETER > /dev/null 2>&1 &


an.
wie realisiere ich das mit dem Screen Trick in solch einem Script ?
und vor allem:
was macht dieses "Screen" ?
 
Oben