Forums Neueste Beiträge
 

Rausfinden ob eine Applikation hängt

09/03/2008 - 22:11 von Joe Blauth | Report spam
Hallo,

ist es möglich mit VB.net herauszufinden, ob ein Prozess "hàngt"/ nicht
mehr reagiert ?
Konkret möchte ich in einem Windows Service mehrere Prozesse anschieben,
die mir verschiedene Werte zurückgeben. Wenn einer dieser Prozesse nun
hàngt, möchte ich das mitkriegen, weil ich dann aufhören kann auf das
Ergebnis zu warten. Also die typische Windowsmeldung "Die Anwendung
reagiert nicht mehr" abfangen :)

Ein anderer Aspekt hierbei wàre, herauszufinden ob einer dieser
angeschobenen Prozesse in eine Endlosschleife gerannt ist. Hierbei würde
meiner Ansicht nach nur helfen die CPU zu überwachen (braucht der Prozess
über lange Strecken nahezu 100% CPU) und einen Zeitlimit zu setzen, nachdem
ich ein Ergebnis aus dem Prozess erwarte. Hat hierzu vll auch jemand eine
etwas sauberere Idee ?

Wenn da jemand was zu weiss, wàre ich über Tips und Links dankbar.

Gruß,
Joe.
 

Lesen sie die antworten

#1 Harald M. Genauck
09/03/2008 - 23:50 | Warnen spam
Hallo Joe,

Ein anderer Aspekt hierbei wàre, herauszufinden ob einer dieser
angeschobenen Prozesse in eine Endlosschleife gerannt ist. Hierbei
würde
meiner Ansicht nach nur helfen die CPU zu überwachen (braucht der
Prozess
über lange Strecken nahezu 100% CPU) und einen Zeitlimit zu setzen,
nachdem
ich ein Ergebnis aus dem Prozess erwarte. Hat hierzu vll auch jemand
eine
etwas sauberere Idee ?



Im einfachsten Fall: erst gar keine Endlosschleife schreiben.
:-)

Im zweiteinfachsten Fall: eine Nicht-Endlosschleife schreiben:
Einen Zàhler einbauen (zumindest provisorisch), der nach Erreichen
einer Höchstzahl zum Ausstieg aus der Schleife und einer Fehlermeldung
oder -protokollierung führt. Die Höchstzahl sollte mindestens um einen
Sicherheitsabstand höher sein, als die zu erwartende höchste Anzahl an
Iterationen.


Viele Grüße

Harald M. Genauck

"VISUAL STUDIO one" - http://www.visualstudio1.de (Chefredakteur)
"ABOUT Visual Basic" - http://www.aboutvb.de (Herausgeber)

Ähnliche fragen