[gelöst] vdr beenden: LIVE macht Probleme

  • Hallo,


    habe das aktuelle Live zusammen mit dem plain vanilla vdr 2.2.0 compiliert (ohne Fehler) und läuft soweit gut. Gestartet wird der vdr mit dem 'mitgelieferten' runvdr - Script.
    Wenn ich den vdr beenden möchte, kommt das auf die Konsole:


    Code
    2015-06-13 15:57:44.86982 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 1
    2015-06-13 15:57:45.89714 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 2
    2015-06-13 15:57:46.90996 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 3
    2015-06-13 15:57:47.92541 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 4
    2015-06-13 15:57:48.93700 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 5
    HTTPD FATAL ERROR: address :8008 in use


    Der Prozess hängt dann. Selbst ein Reboot ist davon betroffen.


    Den einzigen Live-bezogenen Fehler, den ich beim Starten vom vdr aus dem syslog ersehen kann ist:


    Code
    Jun 13 16:02:53 raspivdr vdr: [2156] [live] INFO: attempt to listen on ip = ''
    Jun 13 16:02:53 raspivdr vdr: [2156] [live] ERROR: Unable to load cert/key (/var/lib/vdr/plugins/live/live.pem//var/lib/vdr/plugins/live/live-key.pem): Datei oder Verzeichnis nicht gefunden


    Habe brav alle Dateien aus dem Live-Ordner wie im README verlangt, nach /var/lib/vdr/plugins/live/ kopiert. Eine Datei live.pem oder live-key.pem gibt es aber auf dem ganzen Rechner nicht, wurde also auch nicht dahin kopiert, wo der vdr sie erwartet.


    Aus einem italienischen vdr-Forum habe ich entnommen, dass das vielleicht mit der Internationalisierung zusammenhängt, ist vielleicht aber auch ein Mißverständnis. Mein System läuft jedenfalls mit UTF-8.
    Aus der Fehlermeldung werde ich jedenfalls nicht schlau. Kann jemand helfen?


    Heinrich

    vdr 1.7.x auf/von Debian Wheezy mit Kernel 3.14.6, Alix.1c Board mit AMD Geode 500 MHz, PCTV 461e, Steuerung über Live-Plugin
    vdr 2.2.0 auf Raspbian GNU/Linux 7.6 mit Kernel 3.18.5+, Raspi B+, PCTV 461e, Plugins: dynamite, epgsearch, live

    Einmal editiert, zuletzt von xheinrich ()

  • Was sagt denn

    Code
    netstat -tulpen

    bei gestopptem VDR, wenn du das mit root-Rechten ausführst?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Die pem-Datei beinhaltet ein Zertifikat für https, das braucht man nicht unbedingt. Diese Meldung kannst du also ignorieren.


    Lars

  • Evtl. könntest du bei der IP mal 0.0.0.0 eintragen, so leer sieht das irgendwie komisch aus. Kann mich aber auch irren.


    Lars

  • Was sagt denn

    Code
    netstat -tulpen

    bei gestopptem VDR, wenn du das mit root-Rechten ausführst?

    Da kommt folgendes:


    Code
    Aktive Internetverbindungen (Nur Server)
    Proto Recv-Q Send-Q Local Address       	Foreign Address     	State   	User   	Inode   	PID/Program name
    tcp    	0  	0 0.0.0.0:22          	0.0.0.0:*           	LISTEN  	0      	7689    	2114/sshd
    tcp6   	0  	0 :::22               	:::*                	LISTEN  	0      	7691    	2114/sshd
    udp    	0  	0 192.168.128.87:123  	0.0.0.0:*                       	0      	7618    	2072/ntpd
    udp    	0  	0 127.0.0.1:123       	0.0.0.0:*                       	0      	7617    	2072/ntpd
    udp    	0  	0 0.0.0.0:123         	0.0.0.0:*                       	0      	7609    	2072/ntpd
    udp6   	0  	0 fe80::20f:55ff:fea8:123 :::*                            	0      	7620    	2072/ntpd
    udp6   	0  	0 ::1:123             	:::*                            	0      	7619    	2072/ntpd
    udp6   	0  	0 :::123              	:::*                            	0      	7610    	2072/ntpd


    Kannst du damit was anfangen?


    Heinrich

    vdr 1.7.x auf/von Debian Wheezy mit Kernel 3.14.6, Alix.1c Board mit AMD Geode 500 MHz, PCTV 461e, Steuerung über Live-Plugin
    vdr 2.2.0 auf Raspbian GNU/Linux 7.6 mit Kernel 3.18.5+, Raspi B+, PCTV 461e, Plugins: dynamite, epgsearch, live

  • Ich hätte erwartet, dass da noch ein weiterer Dienst läuft, der den Port 8008 belegt - mit welchen Argumenten wird denn der VDR gestartet? Das müsste man bei laufendem VDR so sehen können:

    Code
    ps -aux | grep vdr

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Evtl. könntest du bei der IP mal 0.0.0.0 eintragen, so leer sieht das irgendwie komisch aus. Kann mich aber auch irren.
    Lars

    Das wird nicht viel besser:


    Code
    2114 ? 00:00:00 vdr 2129 ? 00:00:17 vdr 2174 pts/0 00:00:00 vdr 2175 pts/0 00:00:00 vdr
    Stoppe Linux Video Disk Recorder VDR Daemon
    INFO: validating live server ip '0.0.0.0'
    2015-06-14 00:06:57.82629 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 1
    2015-06-14 00:06:58.85523 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 2
    2015-06-14 00:06:59.86707 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 3
    2015-06-14 00:07:00.87744 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 4
    2015-06-14 00:07:01.88996 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 5
    HTTPD FATAL ERROR: address 0.0.0.0:8008 in use

    vdr 1.7.x auf/von Debian Wheezy mit Kernel 3.14.6, Alix.1c Board mit AMD Geode 500 MHz, PCTV 461e, Steuerung über Live-Plugin
    vdr 2.2.0 auf Raspbian GNU/Linux 7.6 mit Kernel 3.18.5+, Raspi B+, PCTV 461e, Plugins: dynamite, epgsearch, live

  • Ich hätte erwartet, dass da noch ein weiterer Dienst läuft, der den Port 8008 belegt - mit welchen Argumenten wird denn der VDR gestartet? Das müsste man bei laufendem VDR so sehen können:

    Code
    ps -aux | grep vdr


    ergibt folgendes:


    Code
    warning: bad ps syntax, perhaps a bogus '-'?
    See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
    root  	2119  0.0  0.6   5032  2892 ?    	S	Jun13   0:00 /bin/bash /usr/local/bin/runvdr start
    root  	2195  0.0  0.2   1696  1192 ?    	Ss   00:07   0:00 startpar -f -- vdr
    vdr   	2239  4.6  3.4 145692 15532 ?    	Sl   00:07   0:11 /usr/local/bin/vdr -w 60 -u vdr -c /var/lib/vdr -r /usr/local/bin/recordaction.sh -l 1 -P dynamite -I 1 -W 12 -P epgsearch -P live --ip=0.0.0.0 start
    root  	2265  0.0  0.4   4144  1900 pts/0	S+   00:11   0:00 grep vdr


    Heinrich

    vdr 1.7.x auf/von Debian Wheezy mit Kernel 3.14.6, Alix.1c Board mit AMD Geode 500 MHz, PCTV 461e, Steuerung über Live-Plugin
    vdr 2.2.0 auf Raspbian GNU/Linux 7.6 mit Kernel 3.18.5+, Raspi B+, PCTV 461e, Plugins: dynamite, epgsearch, live

  • Die Meldung kommt von dem tntnet listener, wenn er gestartet wird. Habe mal folgendes ausprobiert:



    Obwohl ich runvdr stoppen möchte, startet es scheinbar den vdr wieder??? Ich verwende das runvdr so wie es bei vdr 2.2.0 dabei war. Lediglich die Parameter für den vdr-Aufruf habe ich nach meinen Wünschen geändert:



    Was läuft hier falsch?


    Heinrich

    vdr 1.7.x auf/von Debian Wheezy mit Kernel 3.14.6, Alix.1c Board mit AMD Geode 500 MHz, PCTV 461e, Steuerung über Live-Plugin
    vdr 2.2.0 auf Raspbian GNU/Linux 7.6 mit Kernel 3.18.5+, Raspi B+, PCTV 461e, Plugins: dynamite, epgsearch, live

  • Ich verstehe nicht, warum man da "runvdr start" oder "runvdr stop" verwenden können soll - da ist doch gar keine Abfrage in der runvdr, die das irgendwie berücksichtigen würde. Ich denke daher kommt dann auch dein zweiter VDR-Prozess, weil es diese Unterscheidung gar nicht gibt (was auch erklärt, weshalb der VDR dann noch ein "start" als Argument übergeben bekommt, was mich an

    Code
    vdr   	2239  4.6  3.4 145692 15532 ?    	Sl   00:07   0:11 /usr/local/bin/vdr -w 60 -u vdr -c /var/lib/vdr -r /usr/local/bin/recordaction.sh -l 1 -P dynamite -I 1 -W 12 -P epgsearch -P live --ip=0.0.0.0 start

    schon gewundert hat).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Dann ist das wohl der Fehler. Beim Suchen hier im Forum, wie man den VDR beendet bin ich auf das runvdr stop gekommen. Wenn runvdr garnicht stoppen kann, dann ist klar, dass es beim erneuten Aufruf wieder startet. Wie kann ich dann sonst den VDR stoppen?


    Heinrich

    vdr 1.7.x auf/von Debian Wheezy mit Kernel 3.14.6, Alix.1c Board mit AMD Geode 500 MHz, PCTV 461e, Steuerung über Live-Plugin
    vdr 2.2.0 auf Raspbian GNU/Linux 7.6 mit Kernel 3.18.5+, Raspi B+, PCTV 461e, Plugins: dynamite, epgsearch, live

  • Indem du ihm ein SIGTERM schickst - z.B.:

    Code
    killall vdr

    Wenn er sich dann mit dem Exit-Code 0 beendet, stoppt das runvdr Skript, ansonsten startet er erneut.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Dann ist das wohl der Fehler. Beim Suchen hier im Forum, wie man den VDR beendet bin ich auf das runvdr stop gekommen.


    Das wundert mich jetzt etwas. Das letzte Mal, dass "runvdr stop" erwähnt wurde war im Jahr 2006 im Zusammenhang mit der Distribution linvdr, von der man schon eine Weile nichts mehr gehört hat.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Danke euch beiden. Stimmt, das runvdr stop ist tatsächlich alt - habe nicht darauf geachtet.


    Ist das killall vdr nicht ein bisschen brutal. Beendet sich der vdr damit korrekt? Gibts da nichts anderes?

    vdr 1.7.x auf/von Debian Wheezy mit Kernel 3.14.6, Alix.1c Board mit AMD Geode 500 MHz, PCTV 461e, Steuerung über Live-Plugin
    vdr 2.2.0 auf Raspbian GNU/Linux 7.6 mit Kernel 3.18.5+, Raspi B+, PCTV 461e, Plugins: dynamite, epgsearch, live

  • Letztendlich macht der start-stop-daemon aber auch nichts anderes als Signal 15 (= SIGTERM) zu schicken, wenn man ihn den VDR stoppen lässt :)


    Und wenn man wie unter Arch Linux Systemd zur Verfügung hat, kann man sich das Leben deutlich leichter machen: https://github.com/VDR4Arch/vd…ob/master/vdr/vdr.service (die Start-Argumente für den VDR übergibt man dann über Dateien in /etc/vdr/conf.d/)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Letztendlich macht der start-stop-daemon aber auch nichts anderes als Signal 15 (= SIGTERM) zu schicken, wenn man ihn den VDR stoppen lässt :)


    Und wenn man wie unter Arch Linux Systemd zur Verfügung hat, kann man sich das Leben deutlich leichter machen: https://github.com/VDR4Arch/vd…ob/master/vdr/vdr.service (die Start-Argumente für den VDR übergibt man dann über Dateien in /etc/vdr/conf.d/)


    Da hast du natürlich Recht, :] was systemd angeht....da muß sich ein Dino noch einarbeiten. :D

Jetzt mitmachen!

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