gestartete Child-Prozesse

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
dzvo
Beiträge: 131
Registriert: 17.07.2012, 18:15

gestartete Child-Prozesse

Beitrag von dzvo » 07.08.2013, 11:44

Hallo in die Runde,

ich muss da verständnishalber nachfragen.
Ich habe ein Programm welches einmal in der Minute gestartet wird.
Früher hatte ich das per CuxD und URL Aufruf direkt als Programm gestartet. Hierbei hat die Ausführung ziemlich lange gedauert und sich zeitlich fast überschnitten.

Dann habe ich den ganzen URL Aufruf per TCL umgeschrieben und als Script gestartet.
Das funktioniert soweit auch super.
Die Laufzeit des Scripts auf der Konsole beträgt wenige Sekunden, dann ist das Script fertig.
Warum wird denn dann dieser Prozess nicht auch auf der CCU2 beendet?

gestartete Child-Prozesse:
29994 cuxd (5s): CUX2801001:1 System.CMD_EXEC /bin/tclsh /usr/local/addons/home/home.tcl 'iPhone'
29971 cuxd (64s): CUX2801001:1 System.CMD_EXEC /bin/tclsh /usr/local/addons/home/home.tcl 'iPhone'
29952 cuxd (125s): CUX2801001:1 System.CMD_EXEC /bin/tclsh /usr/local/addons/home/home.tcl 'iPhone'
29929 cuxd (185s): CUX2801001:1 System.CMD_EXEC /bin/tclsh /usr/local/addons/home/home.tcl 'iPhone'
29895 cuxd (245s): CUX2801001:1 System.CMD_EXEC /bin/tclsh /usr/local/addons/home/home.tcl 'iPhone'

Und noch eine weitere Frage? Wie kann ich das besser hinbekommen, kontinuierliche, wiederkehrende Aufrufe ein und desselben Scripts zu verwenden. Bis jetzt ist jede Minute ein System.CMD_EXEC Aufruf.

Gruß
dzvo
--------------------------------------------
168 Kanäle in 77 Geräten:
5x HM-CC-TC, 6x HM-LC-Dim1PWM-CV, 5x HM-CC-VD, 2x HM-PB-2-WM55, 1x HM-PB-4Dis-WM, 2x HM-SCI-3-FM, 1x HM-Sen-RD-O, 3x HM-WDS30-OT2-SM, 1x HM-WDS100-C6-O, 1x HM-Sen-MDIR-SM, 10x HM-ES-PMSw1-Pl, 6x HM-Sec-RHS, 1x HM-Sec-Sir-WM, 1x HM-Sen-MDIR-O, 1x HM-OU-LED16, 1x HM-Sec-SC, 1x HM-Sec-Key-S, 1x HM-Sen-DB-PCB, 2x HM-LC-Sw1-Ba-PCB, 1x HM-LC-Sw4-WM, 1x HM-Sen-MDIR-WM55, 1x HM-RC-Key4-2, 2x HM-RC-Key3-B, 1x HM-Sec-MDIR, 1x HM-Sec-WDS-2, 1x HM-LC-Sw1-Pl-2, 1x HM-PB-6-WM55, 2x HM-PB-2-WM, 1x HM-CC-SCD, 2x HM-LC-Dim1T-Pl-2, 5x HM-LC-Dim1T-Pl, 3x HM-LC-Bl1PBU-FM, 1x HM-RC-19-B, 1x HM-LC-Sw1-Pl, 1x HM-LC-Sw4-DR, 1x HM-Sec-Win
--------------------------------------------

Benutzeravatar
uwe111
Beiträge: 4888
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 260 Mal
Kontaktdaten:

Re: gestartete Child-Prozesse

Beitrag von uwe111 » 07.08.2013, 12:31

Hallo dzvo,

damit Dir überhaupt jemand weiterhelfen kann, müsstest Du schon den Inhalt vom 'home.tcl' Script hier veröffentlichen.

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.12, SSH KeyDir

dzvo
Beiträge: 131
Registriert: 17.07.2012, 18:15

Re: gestartete Child-Prozesse

Beitrag von dzvo » 07.08.2013, 12:54

Hallo Uwe,

emm, das Script selber läuft ja ohne Probleme. (Es nur die "Umschreibung in TCS" des Anwesenheitsscripts aus Beta Tester für Anwesenheitssteuerung mit iPhone)

Es ist das gleiche auch bei dem Twilight Script
30956 cuxd (205s): CUX2801001:1 System.CMD_EXEC tclsh /usr/local/addons/wetter/wetteraktuell.tcl

Oder bei einem einfachen wget Aufruf ...
31646 cuxd (120s): CUX2801001:1 System.CMD_EXEC /bin/tclsh /usr/local/addons/home/home.tcl 'iPhone'
31627 cuxd (146s): CUX2801001:1 System.CMD_EXEC wget -q -O - 'http://192.168.100.100/hue/hue.php?lamp ... &hue=46920 '
31625 cuxd (146s): CUX2801001:1 System.CMD_EXEC wget -q -O - 'http://192.168.100.100/hue/hue.php?lamp ... &hue=46920 '
31621 cuxd (147s): CUX2801001:1 System.CMD_EXEC wget -q -O - 'http://192.168.100.100/hue/hue.php?lamp ... &hue=10000 '
31619 cuxd (147s): CUX2801001:1 System.CMD_EXEC wget -q -O - 'http://192.168.100.100/hue/hue.php?lamp ... =254&hue=0 '

Warum laufen denn die Prozesse weiter? Der Wget Aufruf wurde ja ausgeführt und "beendet".
Ist es den technisch ok über CUX2801001 ein mal in der Minute (oder sogar öffters) etwas auszuführen. Gibt es da was anderes / besseres?

Danke,

Gruß
dzvo
--------------------------------------------
168 Kanäle in 77 Geräten:
5x HM-CC-TC, 6x HM-LC-Dim1PWM-CV, 5x HM-CC-VD, 2x HM-PB-2-WM55, 1x HM-PB-4Dis-WM, 2x HM-SCI-3-FM, 1x HM-Sen-RD-O, 3x HM-WDS30-OT2-SM, 1x HM-WDS100-C6-O, 1x HM-Sen-MDIR-SM, 10x HM-ES-PMSw1-Pl, 6x HM-Sec-RHS, 1x HM-Sec-Sir-WM, 1x HM-Sen-MDIR-O, 1x HM-OU-LED16, 1x HM-Sec-SC, 1x HM-Sec-Key-S, 1x HM-Sen-DB-PCB, 2x HM-LC-Sw1-Ba-PCB, 1x HM-LC-Sw4-WM, 1x HM-Sen-MDIR-WM55, 1x HM-RC-Key4-2, 2x HM-RC-Key3-B, 1x HM-Sec-MDIR, 1x HM-Sec-WDS-2, 1x HM-LC-Sw1-Pl-2, 1x HM-PB-6-WM55, 2x HM-PB-2-WM, 1x HM-CC-SCD, 2x HM-LC-Dim1T-Pl-2, 5x HM-LC-Dim1T-Pl, 3x HM-LC-Bl1PBU-FM, 1x HM-RC-19-B, 1x HM-LC-Sw1-Pl, 1x HM-LC-Sw4-DR, 1x HM-Sec-Win
--------------------------------------------

Benutzeravatar
uwe111
Beiträge: 4888
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 260 Mal
Kontaktdaten:

Re: gestartete Child-Prozesse

Beitrag von uwe111 » 07.08.2013, 19:50

dzvo hat geschrieben:Warum laufen denn die Prozesse weiter? Der Wget Aufruf wurde ja ausgeführt und "beendet".
Ist es den technisch ok über CUX2801001 ein mal in der Minute (oder sogar öffters) etwas auszuführen. Gibt es da was anderes / besseres?
Keine Ahnung, warum die Prozesse bei Dir nicht beendet werden. Normal ist das nicht.
Vielleicht wartet das Script auf irgendetwas?

Du kannst ja zum Testen einmal dieses Beispiel probieren: http://homematic-forum.de/forum/viewtop ... 5&start=61
Am Ende sollte die Prozessliste wieder leer sein.

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.12, SSH KeyDir

Benutzeravatar
roe1974
Beiträge: 756
Registriert: 17.10.2017, 16:15
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wien
Hat sich bedankt: 52 Mal
Danksagung erhalten: 13 Mal

Re: gestartete Child-Prozesse

Beitrag von roe1974 » 15.04.2025, 09:46

Hey Uwe
Fast 12 Jahre später habe auch ich eine Frage dazu ;-)
Ich steuere über HM meine Sonos über das Sonos Add-On.
Zum Stoppen verwende ich folgenden Befehl:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:13.CMD_EXEC").State("/usr/local/etc/config/addons/www/sonos2/sonos2.cgi Wohnzimmer stop");
Der produziert hin und wieder einige child Prozesse, dabei warte ich da gar nicht auf Antwort. Gibt es da einen Parameter dazu, der nach ein paar Sekunden den Prozess beendet ?
lg Richard
PS: könnte es so gehen ?

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:13.CMD_EXEC").State("pgrep -f sonos2.cgi || /usr/local/etc/config/addons/www/sonos2/sonos2.cgi Wohnzimmer stop");

Benutzeravatar
uwe111
Beiträge: 4888
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 260 Mal
Kontaktdaten:

Re: gestartete Child-Prozesse

Beitrag von uwe111 » 16.04.2025, 13:00

Hallo Richard,
roe1974 hat geschrieben:
15.04.2025, 09:46
Fast 12 Jahre später habe auch ich eine Frage dazu ;-)
Hier ist es immer besser, ein neues Thema zu öffnen.

In der CUxD Doku ist beschrieben, dass man über den Geräteparameter EXEC_TIMEOUT die Laufzeit konfigurieren kann, nach der ein gestarteter Befehl automatisch beendet wird.
dzvo hat geschrieben:
07.08.2013, 12:54
Warum laufen denn die Prozesse weiter? Der Wget Aufruf wurde ja ausgeführt und "beendet".
Keine Ahnung, da musst Du Dir das aufgerufene Script (/usr/local/etc/config/addons/www/sonos2/sonos2.cgi) genauer ansehen. Wenn der wget Aufruf ordentlich beendet wird, sollte auch der Prozess weg sein.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.12, SSH KeyDir

Benutzeravatar
roe1974
Beiträge: 756
Registriert: 17.10.2017, 16:15
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wien
Hat sich bedankt: 52 Mal
Danksagung erhalten: 13 Mal

Re: gestartete Child-Prozesse

Beitrag von roe1974 » 17.04.2025, 10:50

Hey Uwe
Alles klar !
Ich habe EXEC_TIMEOUT von 60min (Standard) auf 1min runtergesetzt, DANKE !
lg RIchard

Antworten

Zurück zu „CUxD“