C# 如果没有定期读取错误流,程序会死锁吗?

C# 如果没有定期读取错误流,程序会死锁吗?,c#,stderr,C#,Stderr,我最初希望在程序启动后立即快速检查程序中的错误流,以确保它成功运行 ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.RedirectStandardError = true; string errortext = Process.StandardError.ReadToEnd(); 但是,我想知道是否必须将进程的标准错误重定向回文件 我认为,如果没有从std错误读取任何内容,并且程序将许多错误写入流,那么最终缓冲区将

我最初希望在程序启动后立即快速检查程序中的错误流,以确保它成功运行

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.RedirectStandardError = true;
string errortext = Process.StandardError.ReadToEnd();
但是,我想知道是否必须将进程的标准错误重定向回文件

我认为,如果没有从std错误读取任何内容,并且程序将许多错误写入流,那么最终缓冲区将填满。我不知道
ProcessStartInfo.RedirectStandardError
是如何工作的,但我假设缓冲区满时不会自动写入文件


为了避免冻结我正在读取的程序,是否应该将stderror重定向到一个文件?然后将该文件读入字符串以检查启动时是否有错误?

应该可以回答您的问题。请更具体地说明您在理解文档时遇到的问题。文档非常清楚重定向stdout和stderr时存在的死锁风险。如果您有与文档内容相关的特定问题,请编辑您的问题,以便清楚地了解您的实际问题。我已编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。