C-Sharp Process.Start und SubProcesses
Hallo @ All,
Ich kämpfe gerade mit SystemDiagnostics.Process.WaitForExit() bei Sub-Prozessen. Leider bin ich weit von einer Lösung entfernt und hoffe auf Hilfe hier im Forum.
Mein Problem im Detail:
Über eine GUI deinstalliere ich einige Programme die ich vorher in einer XML definiert habe. Natürlich sollen nicht alle Progrämmchen gleichzeitig aufgerufen werden. Deshalb warte ich auf das Ende des jeweiligen Prozesses mit SystemDiagnostics.Process.WaitForExit().
Z.B. Firefox verhält sich aber recht unkooperativ weil der HauptProcess ("C:\Program Files\Mozilla Firefox\uninstall\helper.exe") eine andere EXE aus %TMP% called (AU_.exe) und sich sofort wieder beendet. SystemDiagnostics.Process wartet nicht weil der Haupt-Process klarerweise schon beendet ist.
Ich habe versucht die PID für den Main-Prozess auszulesen und davon alle Childs, jedoch ohne Erfolg. mit dem Handle dito.
Meine Frage:
Wie kann ich alle Sub-Processe zum jeweiligen Main überwachen, und das Beenden der Subs abwarten bevor ich aus der Methode() springe??
Ich möchte die Funktionalität so generisch (nicht auf einen bestimmten Prozess festgenagelt) halten, weil sich die Programme die deinstalliert werden sollen immer wieder ändern können.
Für Ideen, Ansätze, CodeSnippeds und natürlich vollständige Lösungen bin ich dankbar!
Grüße,
Mayho
Ich kämpfe gerade mit SystemDiagnostics.Process.WaitForExit() bei Sub-Prozessen. Leider bin ich weit von einer Lösung entfernt und hoffe auf Hilfe hier im Forum.
Mein Problem im Detail:
Über eine GUI deinstalliere ich einige Programme die ich vorher in einer XML definiert habe. Natürlich sollen nicht alle Progrämmchen gleichzeitig aufgerufen werden. Deshalb warte ich auf das Ende des jeweiligen Prozesses mit SystemDiagnostics.Process.WaitForExit().
Z.B. Firefox verhält sich aber recht unkooperativ weil der HauptProcess ("C:\Program Files\Mozilla Firefox\uninstall\helper.exe") eine andere EXE aus %TMP% called (AU_.exe) und sich sofort wieder beendet. SystemDiagnostics.Process wartet nicht weil der Haupt-Process klarerweise schon beendet ist.
Ich habe versucht die PID für den Main-Prozess auszulesen und davon alle Childs, jedoch ohne Erfolg. mit dem Handle dito.
Meine Frage:
Wie kann ich alle Sub-Processe zum jeweiligen Main überwachen, und das Beenden der Subs abwarten bevor ich aus der Methode() springe??
Ich möchte die Funktionalität so generisch (nicht auf einen bestimmten Prozess festgenagelt) halten, weil sich die Programme die deinstalliert werden sollen immer wieder ändern können.
Für Ideen, Ansätze, CodeSnippeds und natürlich vollständige Lösungen bin ich dankbar!
Grüße,
Mayho
Please also mark the comments that contributed to the solution of the article
Content-Key: 339438
Url: https://administrator.de/contentid/339438
Printed on: April 26, 2024 at 13:04 o'clock
4 Comments
Latest comment
Schau mal hier rein:
https://stackoverflow.com/questions/7189117/find-all-child-processes-of- ...
Das "Killen" natürlich weg denken.
Gruß v.
https://stackoverflow.com/questions/7189117/find-all-child-processes-of- ...
Das "Killen" natürlich weg denken.
Gruß v.