Wie um zu überprüfen, ob Prozess noch läuft, bevor aufrufenden Prozesses.GetProcessById?
In .NET - Prozess.GetProcessById
wirft eine Ausnahme wenn der Prozess mit dieser ID wird nicht ausgeführt. Wie sicher diese Methode aufrufen, so, dass es nicht eine exception zu werfen? Ich denke so etwas wie
if(Process.IsRunning(id)) return Process.GetProcessById(id);
else return null; //or do something else
Aber finde keine Methode um zu überprüfen, die ID, andere als wohl, immer alle laufende Prozesse und prüfen, ob die id vorhanden in der Liste.
Ist es schlimm, wenn man erwischt die Ausnahme?
In meinen Erfahrungen und Tests, die Leistung der Kodierung durch Ausnahmen, wie das ist sehr schlecht
So ist es etwa Leistung?? Gut, wenn Sie umgeben Sie diese zwei Zeilen mit try-catch, es würde nicht Schaden, glaube ich...
In meinen Erfahrungen und Tests, die Leistung der Kodierung durch Ausnahmen, wie das ist sehr schlecht
So ist es etwa Leistung?? Gut, wenn Sie umgeben Sie diese zwei Zeilen mit try-catch, es würde nicht Schaden, glaube ich...
InformationsquelleAutor Louis Rhys | 2013-02-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich blickte in
Process.GetProcessById
Methode.Es verwendet interne statische Klasse ProcessManager, um sicherzustellen, dass der Prozess läuft.
ProcessManager bekommt alle Laufenden Prozesse im system und überprüft es-ids, so dass ich denke, es ist der beste Weg, es zu tun.
So sollten Sie den Aufwand der exception oder die overhead -
Process
array.InformationsquelleAutor Dmitry Dovgopoly
Nur mit try-catch-block
InformationsquelleAutor Blablablaster
Yeah, die Verwendung von try + catch wahrscheinlich den trick tun. Wenn der Prozess nicht läuft, wird nichts passieren, statt eine Ausnahme zu werfen.
InformationsquelleAutor Mārtiņš Radiņš