在 Windows 中将进程的输出异步传输到文件

Posted

技术标签:

【中文标题】在 Windows 中将进程的输出异步传输到文件【英文标题】:Piping output of process to file asynchronously in windows 【发布时间】:2017-05-24 18:15:21 【问题描述】:

我试图运行使用“开始”一个计划,我想有输出管道输送到一个txt文件,例如,我想有一个简单的HTTP蟒蛇服务器的输出记录到一个文本文件中:

START cmd /c python -m SimpleHTTPServer 8000^>engineLog.txt

上面将其打印到日志文件中,但与该问题,只打印它的过程完成时。有没有什么办法,我可以,因为它正在运行,存储日志?也有可能有它登录txt文件,以及具有它在控制台打印出? P>

【问题讨论】:

也许这是应用程序必须冲洗写发生其输出流?我不能完全肯定,但我认为是这样。所以,除非你可以强制应用程序刷新其流,在某种程度上,你很可能出于运气。 SPAN> Save logs - SimpleHTTPServer的可能重复 @ MarkW,幸运的是在这种情况下Python有一个-u选项,以使标准输出缓冲的。跨度> 【参考方案1】:

试一试:

START /b "Your title" "cmd /c python -m SimpleHTTPServer 8000 > engineLog.log | type engineLog.log"

或者,您可以get tee Windows 端口。

【讨论】:

以上是关于在 Windows 中将进程的输出异步传输到文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 中的进程之间传输敏感数据?

在 Qt 4.7 中将标准输出管道传输到 QLabel

管道流程输出到新流程

如何在 C 语言中将输入和检索输出传递给子进程

如何在objective-c中将数据从NSOutputStream传输到NSInputStream

使用管道将文件 i/o 传输到另一个进程