【发布时间】:2017-07-20 17:17:24
【问题描述】:
我有一个 Windows CLI EXE,当我运行它时会打印到控制台。 这不是我可以修改的程序。
我将它包装在一个 gradle Exec 任务中,它显然正在运行,但没有任何内容打印到屏幕上。我没有为输出配置任何特殊的东西。
我再次直接运行程序,但使用1> 和2> 将stdout 和stderr 重定向到文件。
因为这个程序需要 3 个小时才能运行,所以我在一段时间后按了 Ctrl-C 并打开了重定向文件。
文件中没有通常的输出。
是否可以使用退格或其他机制来防止捕获输出?实际控制台上的输出不会清除。任何想法都会有所帮助。
【问题讨论】:
-
类似问题stackoverflow.com/questions/25981036/… 尝试在写入控制台后添加“Console.Out.Flush()”。另外,您是否在 exec def 中做任何奇怪的事情,例如在示例 docs.gradle.org/current/dsl/org.gradle.api.tasks.Exec.html 中他们用缓冲区替换标准输出?
-
@Will 这不是我的程序
-
您可能希望将任务的定义添加到您的问题中。在这一点上,我的知识已经走到了尽头。祝你好运。
-
@Will 它只是一个运行命令的 Exec,没有别的。此外 gradle 与它没有任何关系。
2>和1>也会发生这种情况 -
看起来与此问题相同:stackoverflow.com/questions/7990851/… 但我无法将其作为重复项关闭,由于某种原因,我无法将其作为选项显示。水星必须逆行。