您能否解釋爲什麼shell重定向不能與System.Diagnostics.Process類一起使用?我正在嘗試使用以下代碼片段將輸出流重定向到文件:在c#中重定向標準輸出的問題
Process p = new Process();
p.StartInfo = new ProcessStartInfo();
p.StartInfo.FileName = "java.exe";
p.StartInfo.Arguments = @"> c:\Temp\test.log 2>&1";
p.StartInfo.UseShellExecute = true;
p.Start();
類似的代碼在Python中沒有問題。 以編程方式讀取輸出流在我的情況下似乎不是一個可取的解決方案,因爲我的應用程序會啓動一堆進程。
理想情況下,您應該在開始閱讀之前設置事件處理程序。如果你不這樣做,你將有可能錯過輸出的第一位。有關示例,請參閱http://stackoverflow.com/questions/415620/redirect-console-output-to-textbox-in-separate-program-c-sharp – 2012-10-01 08:30:28