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:
zahni 587 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
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?
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.
Dr.Melzer 191 Geschrieben 17. Mai 2010 Melden Geschrieben 17. Mai 2010 Um was für eine GUI handelt es sich denn da?
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
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.
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".
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden