tHaHooL 10 Geschrieben 16. Mai 2010 Melden Geschrieben 16. Mai 2010 Hallo zusammen! Ich bin auf der Suche nach einem Watchdog der Prozesse nicht nur auf Vorhandensein prüft und ggf. (neu)startet, sondern auch erkennen kann ob ein Prozess hängt (d. H. im Taskmanager noch sichtbar ist, nur eben nicht mehr reagiert). Da ich das auf vielen Maschinen benötige wäre eine OpenSource / GPL Lösung was feines :) Ich finde hierzu aber leider rein gar nix. Sämtliche Tools die ich gefunden habe können nur überwachen ob ein Prozess existiert, nicht aber ob er hängt :shock: Zitieren
zahni 566 Geschrieben 16. Mai 2010 Melden Geschrieben 16. Mai 2010 Das liegt einfach daran, dass man von aussen kaum feststellen kann, dass ein Process "hängt". Die Frage ist: Wie definiert man einen hängenden Process ? Ein Process kann schon dann scheinbar (!) hängen, wenn er auch eine Antwort, z.B. von einer TCP-Verbindung, erwartet. Oder läuft, Aufgrund eines Fehlers, in eine Endlosschleife. Aber auch dass kann man nur feststellen, wenn man den Process mit einem Debugger analysiert. -Zahni Zitieren
Dr.Melzer 191 Geschrieben 16. Mai 2010 Melden Geschrieben 16. Mai 2010 Die Frage ist: Warum brauchst du so etwas? Was willst du damit erreichen? Zitieren
tHaHooL 10 Geschrieben 17. Mai 2010 Autor Melden Geschrieben 17. Mai 2010 Das liegt einfach daran, dass man von aussen kaum feststellen kann, dass ein Process "hängt". Die Frage ist: Wie definiert man einen hängenden Process ?-Zahni Ja das stimmt schon. Man müsste den Prozess quasi was ausgeben lassen und wenn das ausbleibt -> restart. Ich benötige dies für eine GUI welche unter bestimmten Umständen abstürzen kann und diese soll dann neu gestartet werden. Mir würde auch schon reichen wenn der Watchdog die Fensterinformation "Reagiert nicht" auswerten könnte und daraufhin den Prozess nach einer bestimmten Zeit neu startet. Zitieren
Dr.Melzer 191 Geschrieben 17. Mai 2010 Melden Geschrieben 17. Mai 2010 Um was für eine GUI handelt es sich denn da? Zitieren
blub 115 Geschrieben 17. Mai 2010 Melden Geschrieben 17. Mai 2010 schau doch mal, ob get-process <processname> | select * eine Eigenschaft listet, an der du erkennst, ob der Prozess läuft oder hängt (z.B. exitcode, hasexited, exittime). Diese Eigenschaft könnte man dann regelmässig abfragen cu blub Zitieren
jaksa 10 Geschrieben 17. Mai 2010 Melden Geschrieben 17. Mai 2010 Ich möchte noch anmerken dass der Hinweis "reagiert nicht" nicht bedeuten muss dass der Prozess hängt. Man könnte zwar schon auf den Fenstertitel "Applikation (reagiert nicht)" reagieren, ich finde das aber etwas unsauber und ich weiss nicht ob man sich darauf verlassen kann. Zitieren
tHaHooL 10 Geschrieben 17. Mai 2010 Autor Melden Geschrieben 17. Mai 2010 Vielen Dank für die Antworten. Die GUI ist zur Steuerung einer Platine und kann auch nicht sonderlich viel, sprich braucht auch kaum Performance. Wenn da steht "reagiert nicht", dann kann man davon ausgehen, dass das Teil auch wirklich hängt. Danke für den Hinweis mit get-process, da gibts ja allerhand interessante Informationen - vielleicht finde ich hier eine passende Lösung mit "MainWindowTitle". Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.