Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: VDR Portal. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Freitag, 19. Oktober 2007, 16:04

NoAD überwachen und beenden

Hallo,

hat eventuell jemand eine Idee bzw. ein Script wie man NoAD überwachen und nach einiger Zeit mittels "Kill" beenden kann?

Der Grund für die Frage ist das sich der NoAD Process manchmal nicht beendet. Wenn dies passiert wird dann auch der Shutdown vom Rechner durch VDR verhindert.

Bye
John
  • VDR#1: CoolerMaster ATX-620, MR Fortron 350 Watt ichbinleise®, FSC 1562, Celeron 2GHz, 256 MB, HD400LD, silentmaxx HD-silencer, LG GSA-4160B, Nexus-S, IR rev.4 von hirc, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1
  • VDR#2: passiv Gehäuse von Hewlett600, VIA MII-12000, 256 MB, HD400LD, TT 1.5, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1

2

Samstag, 20. Oktober 2007, 11:45

Hi,

habe gerade wieder das Problem, das der noad Prozess sich nicht beendet und somit der shutdown des VDR verhindert wird.

Im Logfile steht dann:
Oct 20 11:11:06 animah vdr-shutdown: executing /usr/share/vdr/shutdown-hooks/S50.noad as shell script
Oct 20 11:11:07 animah vdr-shutdown: /usr/share/vdr/shutdown-hooks/S50.noad requests to try again in 5 minutes

Im S50.noad shellscript wird mittels "ps -ae | grep -q noad" nachgeschaut ob es noch laufende noad Prozesse gibt und dann der shutdown abgebrochen.

Wenn ich den Befehl "ps -ae | grep -q noad" absetze sehe ich:
7452 ? 00:02:57 noad

Mit "ps ax | grep noad" sehe ich die Details:
7452 ? SNs 2:57 /usr/bin/noad --online=2 --background --OSD --comments --jumplogo --ac3 --overlap before /var/lib/video.00/Fantastic_Four_-_Die_gr??ten_Helden_aller_Zeiten/Die_kleinsten_Helden_der_Welt/2007-10-20.09.50.50.99.rec

Meines Erachtens liegt es an den Umlauten in der Aufnahme das sich noad nicht beendet.

Jetzt meine Frage an die Shell-Programmierer:
Gibt es eine Möglichkeiten das Script S50.noad so abzuändern das der shutdown durcheführt wird wenn es noch noad Prozesse nach dreimailiger Abfrage gibt? Also irgenwie einen Zähler mitlaufen lassen. Wenn der shutdown dreimal abgebrochen wurde wegen noad, dann fahr den Computer trotzdem runter.

Bye
John
  • VDR#1: CoolerMaster ATX-620, MR Fortron 350 Watt ichbinleise®, FSC 1562, Celeron 2GHz, 256 MB, HD400LD, silentmaxx HD-silencer, LG GSA-4160B, Nexus-S, IR rev.4 von hirc, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1
  • VDR#2: passiv Gehäuse von Hewlett600, VIA MII-12000, 256 MB, HD400LD, TT 1.5, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1

3

Samstag, 20. Oktober 2007, 11:58

Du kannst die maximale CPU-Zeit mit ulimit -t begrenzen, dann wird der Prozess nach Ablauf der Zeit automatisch abgeschossen. Ist natürlich schwer, hier vorab eine sinnvolle Obergrenze vorzugeben.

Siiehe -> bash manual.

Gruß,

Udo

4

Samstag, 20. Oktober 2007, 12:43

Danke Urig.

Habe das noad Shellscript von diesem Posting abgeädert und probier es damit.

Ansonsten habe ich das Programm "Timeout" gefunden. Damit probier ich es wenn ulimit nicht funktionieren sollte.

Bye
John
  • VDR#1: CoolerMaster ATX-620, MR Fortron 350 Watt ichbinleise®, FSC 1562, Celeron 2GHz, 256 MB, HD400LD, silentmaxx HD-silencer, LG GSA-4160B, Nexus-S, IR rev.4 von hirc, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1
  • VDR#2: passiv Gehäuse von Hewlett600, VIA MII-12000, 256 MB, HD400LD, TT 1.5, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1

SHF

Erleuchteter

Beiträge: 3 962

Wohnort: hessische Bergstrasse

  • Nachricht senden

5

Samstag, 20. Oktober 2007, 15:21

Zitat

Habe das noad Shellscript von diesem Posting abgeädert und probier es damit.
Wahrscheinlich löst das Skript auch ohne Änderung deine Probleme.
Bei mir hat sich NoAD immer dann nicht beendet, wenn das Speicher-Problem auftrat, die Beschränkung der Laufzeit war daher nicht nötig (das dürfte auch im Online-Modus von NoAD bringen).

Seit ich das Skript im Einsatz habe ist das Problem auch nicht wieder aufgetreten.
Gruss
SHF


Mein (neuer) VDR:

Software:
Debian Wheezy mit Kernel 3.14
VDR 2.0.7 & div. Plugins aus YaVDR-Paketen
noad 0.8.6

Hardware:
MSI C847MS-E33, onboard 2x1,1GHz Sandybridge Celeron 847, 4GiB RAM
32GB SSD (System), 4TB 3,5" WD-Red HDD (Video)
TT FF DVB-S 1.5 FullTS-Mod PWM-Vreg-Mod, DVB-Sky 852 Dual DVB-S2
Das ganze im alten HP Vectra VLi8-Gehäuse versorgt von:
PicoPSU-160-XT und Meanwell EPP-150 im ATX-NT-Gehäuse

Beiträge: 2 805

Wohnort: Landkreis Dahme-Spreewald (LDS)

  • Nachricht senden

6

Samstag, 20. Oktober 2007, 15:52

Hallo

Also das hatte ich ehrlich gesagt noch nie, das noad sich nicht von alleine beendet hat.

Außer, wenn man die Aufnahme, mit welcher noad gerade beschäftigt ist, gelöscht hat.

Im Wiki gab es dafür wohl nen Flicken:

http://vdr-wiki.de/wiki/index.php/Noad#N….C3.B6scht_wird

Quellcode

1
2
3
4
5
6
7
Noad beendet sich nicht, wenn während des Scans die Aufnahme gelöscht wird

Wenn eine Aufnahme gelöscht wird, während Noad läuft, bleibt der Prozess hängen und Noad beendet sich nie. Das kann dazu führen, dass sich der VDR nicht herunterfährt.

Abhilfe schaffen folgende Patches:

http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-video/noad/files/patches-0.6.0/delete-while-scanning.diff http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-video/noad/files/patches-0.6.0/hangcheck.diff 

Hatte aber vorher schon einen kleinen Schnippsel erstellt, der überprüft alle 5 Sekunden ob die Verzeichnisse zum PID noch existieren, falls nicht wird der entsprechende PID gekillt (benötigt: ps, pidof, screen), hatte es ans jeweilige wrapper skript angehangen.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
if ! screen -ls | egrep -q noadwatch ; then
    screen -dmS noadwatch sh -c "while pidof noad ; do \
	for i in \$(pidof noad) ; do \
	    sleep 5s ; ARGS=\$(ps --no-heading -p \$i -o %a) ; \
	    if [ ! -d "\${ARGS##* }" -a -n "\${ARGS##* }" ] ; then \
		if ps -p \$i ; then \
		    kill -9 \$i ; \
		fi ; \
	    fi ; \
	done ; \
    done"
fi


Aber ich glaube, das da oben ^^^^^^^^^ alles dürfte, mit ulimit obsolete sein.

Danke für den TIP.

MFG Ronny

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ronnykornexl« (20. Oktober 2007, 15:54)


SHF

Erleuchteter

Beiträge: 3 962

Wohnort: hessische Bergstrasse

  • Nachricht senden

7

Samstag, 20. Oktober 2007, 16:05

Zitat

Original von ronnykornexl
Also das hatte ich ehrlich gesagt noch nie, das noad sich nicht von alleine beendet hat.

Außer, wenn man die Aufnahme, mit welcher noad gerade beschäftigt ist, gelöscht hat.
Ist mir auch schon bei fehlerhaften Aufnahmen (Gewitter oder so) passiert.

Zitat

Im Wiki gab es dafür wohl nen Flicken:
Den gab es damals, als mich NoAD peinigte, leider noch nicht.
Gruss
SHF


Mein (neuer) VDR:

Software:
Debian Wheezy mit Kernel 3.14
VDR 2.0.7 & div. Plugins aus YaVDR-Paketen
noad 0.8.6

Hardware:
MSI C847MS-E33, onboard 2x1,1GHz Sandybridge Celeron 847, 4GiB RAM
32GB SSD (System), 4TB 3,5" WD-Red HDD (Video)
TT FF DVB-S 1.5 FullTS-Mod PWM-Vreg-Mod, DVB-Sky 852 Dual DVB-S2
Das ganze im alten HP Vectra VLi8-Gehäuse versorgt von:
PicoPSU-160-XT und Meanwell EPP-150 im ATX-NT-Gehäuse

Immortal Romance Spielautomat