在windows中将进程的输出异步管道化到文件
我正在尝试使用“start”运行一个程序,并且我希望将输出通过管道传输到一个txt文件,例如,我希望将一个简单http python服务器的输出记录到一个文本文件:在windows中将进程的输出异步管道化到文件,windows,logging,cmd,Windows,Logging,Cmd,我正在尝试使用“start”运行一个程序,并且我希望将输出通过管道传输到一个txt文件,例如,我希望将一个简单http python服务器的输出记录到一个文本文件: START cmd /c python -m SimpleHTTPServer 8000^>engineLog.txt 上面的代码会将其打印到日志文件中,但问题是,它只在流程完成时打印。是否有任何方法可以在日志运行时将其存储到日志中?也可以将其记录在txt文件中并在控制台中打印出来吗?尝试一下: START /b "Your
START cmd /c python -m SimpleHTTPServer 8000^>engineLog.txt
上面的代码会将其打印到日志文件中,但问题是,它只在流程完成时打印。是否有任何方法可以在日志运行时将其存储到日志中?也可以将其记录在txt文件中并在控制台中打印出来吗?尝试一下:
START /b "Your title" "cmd /c python -m SimpleHTTPServer 8000 > engineLog.log | type engineLog.log"
或者,您可以
tee
port for Windows。可能是应用程序必须刷新其输出流才能进行写入?我不完全确定,但我认为是这样的。因此,除非您可以强制应用程序以某种方式刷新其流,否则您可能会运气不佳。@MarkW可能是重复的,幸运的是,在这种情况下,Python有一个-u
选项来使stdout无缓冲。