Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Wie finde ich heraus, ob ein Prozess sich aufgehangen hat?

  Alt 18. Apr 2013, 14:00
Das ist eigentliche eine Frage, wie Ihr sie sicherlich schon 100 mal gehört habt. Ich bekomme es noch nicht einmal auf die Reihe, die Antwort zu finden.

Das einzige, was ich bislang gefunden habe, ist mittels GetExitCodeThread den Hauptthread des gestarteten Prozesses zu überprüfen. Entweder er liefert STILL_ACTIVE oder halt den Wert mit dem er sich beendet hat.

Aber das kann doch nicht schon alles sein? Ein paar Messages in den Raum werfen und irgendwie versuchen zu schauen, ob ein Fenster der Anwendung ihre Message Loop noch abholt?

Ich stehe auf dem Schlauch. Ich möchte im gleichen Thread, der den auch Prozess mittels CreateProcess selbst aufgemacht hat, später auch schauen können, wie es ihm geht. Und einfach nur zu wissen, ob der Hauptthread noch läuft kann sicher nicht schon alles sein.
  Mit Zitat antworten Zitat