首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Process.RedirectStandardOutput不工作

Process.RedirectStandardOutput不工作
EN

Stack Overflow用户
提问于 2015-04-30 12:18:18
回答 1查看 4K关注 0票数 5

我在重定向应用程序的标准输出时遇到了问题。这似乎是.NET中的某种bug。

我正在运行Live555ProxyServer,但是即使当控制台启动时也没有得到任何输出,即使控制台有一个书面输出。此代码适用于任何其他控制台应用程序,但不适用于此应用程序。

代码语言:javascript
复制
void StartProcess()
{
    var process = new Process();
    process.StartInfo.FileName = @"live555ProxyServer.exe";
    process.StartInfo.Arguments = "-R";
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.RedirectStandardOutput = true;
    process.OutputDataReceived += process_OutputDataReceived;

    process.Start();
    process.BeginOutputReadLine();
}

void process_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
    Debug.WriteLine(e.Data);
}

该应用程序的源代码可以找到这里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-30 12:28:59

这是因为所有输出都流向stderr而不是stdout,请参阅源代码

您应该为Process.ErrorDataReceived添加一个处理程序,并调用Process.BeginErrorReadLine,事情将开始顺利进行。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29967590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档