Nach & erklärt, wie unten einen Prozess beginnen:Überprüfen, ob der Prozess einen Fehler zurückgegeben hat C#
System.Diagnostics.Process _p = new System.Diagnostics.Process();
.....
.....
....
_p.Start();
Es gibt zwei Möglichkeiten jetzt: Entweder ein Ausgang oder ein Fehler.
Falls ein Fehler auftritt, gibt es eine Eigenschaft der Process
Klasse, durch die zu wissen ist, ob ein Fehler aufgetreten ist?
Ich bin die Umleitung der Standard-Ausgabe, ich möchte Standard Fehler as warned in MSDN nicht umleiten. Auch ich möchte nicht verwenden: BeginOutputReadLine();
Gibt es Alternativen?
Vielen Dank.
Ist der Prozess, den Sie beginnen Rückkehr richtigen Exit-Codes (zB '0' für den Erfolg, '
http://ss64.com/nt/cmd.html für cmd.exe Hilfe hilft 1' für Fehler)? Wenn dies der Fall ist, können Sie '_p.ExitCode' überprüfen, sobald der Prozess beendet wurde. –
@Cory Vielen Dank. Meine benutzerdefinierten Prozesse, die ich gestartet habe, hatten keine Exit-Codes. Aber jetzt habe ich diese implementiert und checked _p.ExitCode und seine Arbeitsweise perfekt. Noch einmal vielen Dank. –
Sie sagen, Sie wollen nicht std err 'wie in MSDN gewarnt '(http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandarderror.aspx) umleiten, vielleicht ist es mein Englisch Verständnis, aber ich sehe nirgendwo in dem Artikel warnt Sie gegen Umleitung std err, nur wie man es zu verhindern, ein Deadlock – Jason