Findet alle Kind-Prozesse von meinen eigenen .NET-Prozess / finden Sie heraus, ob ein Prozess ist ein Kind von meinem eigenen?

Habe ich eine .NET-Klassenbibliothek, die spinnt ein sekundärer Prozess, der in Gang gehalten, bis ich entsorgen des Objekts.

Aufgrund von einigen stellen des Programms noch in Erinnerung habe, habe ich beschlossen, fügen Sie ein integration-test, um sicherzustellen, dass, wenn ich ließ das Objekt verfallen zu GC/Fertigstellung dieser Prozess wird heruntergefahren.

Jedoch, da der Prozess der Mercurial Kommandozeilen-client, und mein build-server wird bereits ausgeführt "Mercurial" als Teil seiner eigenen Operationen, Stell ich Situationen, in denen Mercurial ist entweder bereits ausgeführt wird, wenn test beginnt, oder, dass er gestartet wurde und noch läuft, wenn der test abgeschlossen ist, in Bezug auf die build-server, und nicht mein test.

So, ich möchte sicherstellen, dass die Mercurial-client finde ich (oder nicht), die ich begonnen, und nicht nur alle - client, der derzeit ausgeführt wird.

Die Frage ist also:

  • Wie kann ich herausfinden, ob die Mercurial-client, ich bin auf der Suche wurde von meinem Prozess?

Durch "Suche", ich war auf der Suche mit der Prozess.GetProcesses Methode, aber dies ist keine Voraussetzung.

Wenn eine andere Frage ist besser, "so finden Sie alle Kind-Prozesse von meinen eigenen Prozess", dh. einfacher zu beantworten, dass man mehr als genug, wie gut.

Fand ich diese Seite: Wie kann ich wissen, dass der übergeordnete Prozess-ID eines Prozesses?, aber es scheint, dass ich haben, um ihm den Namen des Prozesses. Wenn ich nur gebe es "hg" ist das nicht, die Frage zu unklar für den Fall, ich bin auf der Suche nach?

Schreibe einen Kommentar