为什么Process.StandardError被缓冲

时间:2016-11-30 14:05:51

标签: c# .net winapi process buffering

我发现了很多关于Process.StandardOutput的类似问题 - 这里有一个最好的How to disable output buffering in Process.StandardOutput

但是这些问题不应该适用于标准错误 - 因为它不应该被缓冲。 然而,我仍然遇到类似的问题 - 我有一个外部应用程序,写入stderr。当我重定向StandardError然后甚至一次从StandardError.BaseStream单字节读取时,我仍然比在控制台中运行时看到的输入时间少。 非常有趣的是,我甚至通过调用进程通过fprintf接收写入stderr的部分行,并且输出的第二部分在其他写入行后几秒钟内被接收。

.NET Process抽象中是否有可用于影响此行为的隐藏缓冲选项?

0 个答案:

没有答案