IPS_Execute

Habe an einigen Stellen IPS_Execute für verschiedene Systemaufrufe verwendet (als Test z.B. alle 5 min echo IPS_Execute(„whoami“,"",true, true). Bei einem neu gestartetem Pi funktioniert das gut. Nach einigen Stunden kommen dann Fehlermeldungen (Warnings und kein Output). Dieselben Befehle funktionieren auf einer Shell auf dem Pi immer noch. Das passsiert seit einiger Zeit, leider kann ich nicht sagen ob es mit einem Symcon Update zusammengefallen ist.

Hat jmd eine Idee wie ich dem Problem auf die Spur kommen kann?

Gruss, HCP

Wie ich sehe nutzt du noch IP-Symcon 3.4? Ist das korrekt? Da gab es keinerlei Update seit Ewigkeiten. Ansonsten wäre es super, wenn du in der Lizenzverwaltung deine Lizenz aktualisieren könntest :slight_smile:

paresy

Das Problem mit der Lizenzverwaltung ist gelöst. Dort wird jetzt die richtige Version: 4.4 (10.01.2018) angezeigt … das Problem mit IPS_Execute bleibt …

Das Problem mit IPS_Execute bleibt bestehen. Habe versucht das mit exec() zu machen komme aber immer - nach einiger Zeit - wieder auf Fehlermeldungen

IPS_Execute returns: "Cannot run … "
exec returns: „Unable to fork …“.

Seltsam, da alles monatelang problemlos lief …

Bin für jeden Hinweis dankbar!

Gruss, HCP

Kann es sein, dass der Prozess nicht korrekt beendet wird und immer noch offen bleibt in der Prozessliste? Das wirkt eher so, als wenn da ein Systemlimit erreicht wird.

paresy

Hab das auch schon gedacht. Wenn ich allerdings die Prozesse mit ps -aux anschaue sehe ich keine hängengebliebenen Prozesse. Ich hab dann versucht von der Konsole (Putty) unter root denselben Befehl abzusetzen. Das hat funktioniert - während es mit IPS_Execute oder exec() in einem Testskript nicht funktioniert hat. Gibt es ein Limit für die Subprozesse von Symcon, in das ich da vielleicht reinlaufe?

Ich bin jetzt nun wirklich kein Linux Guru, traue mich aber jetzt trotzdem mal die Frage zu stellen. Als welcher User hast Du „ps -aux“ aufgerufen? Root? oder pi?

Beides probiert [emoji3]

Gesendet von iPhone mit Tapatalk Pro

Das versuche ich auch rauszufinden. Bin jetzt gerade am Testen mit den der Anzahl Threads zum Prozess. Man kann zum symcon-Prozess mit

cat /proc/<pid>/status

die Anzahl der Threads auslesen. In der Symcon Management Console kann man die Anzahl der maximialen Threads als Spezialschalter (Thread Count und Thread Queue Limit) definieren. Hängen diese Angaben zusammen? Oder handelt es sich bei den Spezialschaltern um andere Angaben (z.B. nur parallele php-Skripte und keine exec- bzw. IPS_Execute-Threads?

Gruss, HCP

Das Thema wurde gelöst. Es lag wohl an zu knappem Memory. Wenn man auf dem Raspberry den Swap hochsetzt kommt es nicht mehr zu diesen Fehlern.