tHaHooL 10 Geschrieben 16. Mai 2010 Melden Teilen 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 Link zu diesem Kommentar
zahni 554 Geschrieben 16. Mai 2010 Melden Teilen 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 Link zu diesem Kommentar
Dr.Melzer 191 Geschrieben 16. Mai 2010 Melden Teilen Geschrieben 16. Mai 2010 Die Frage ist: Warum brauchst du so etwas? Was willst du damit erreichen? Zitieren Link zu diesem Kommentar
tHaHooL 10 Geschrieben 17. Mai 2010 Autor Melden Teilen 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 Link zu diesem Kommentar
Dr.Melzer 191 Geschrieben 17. Mai 2010 Melden Teilen Geschrieben 17. Mai 2010 Um was für eine GUI handelt es sich denn da? Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 17. Mai 2010 Melden Teilen 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 Link zu diesem Kommentar
jaksa 10 Geschrieben 17. Mai 2010 Melden Teilen 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 Link zu diesem Kommentar
tHaHooL 10 Geschrieben 17. Mai 2010 Autor Melden Teilen 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 Link zu diesem Kommentar
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.