【问题标题】:How to avoid SCons mixed output with -j parameter?如何避免 SCons 与 -j 参数混合输出?
【发布时间】:2016-07-16 22:36:00
【问题描述】:

我正在尝试设置基于 SCons 的构建。

我使用的每个构建器都有多个可以使用sys.stdout.write() 在控制台中写入的操作。

问题是控制台输出在不同作业之间混合。

是否有可用的修复程序?我想在执行后将特定作业的所有控制台输出放在同一个位置。

【问题讨论】:

    标签: scons


    【解决方案1】:

    您正试图从多个并行运行的进程中访问相同的资源 (stdout)...没有简单的解决方法(另请参阅 xargs: losing output when redirecting stdout to a file in parallel mode)。

    您可以尝试将每个中间操作的输出写入临时文件,然后最后一个操作将文件中的完整和聚合输出最终写入stdout。像这样,您在输出中有较大的连续文本块......但是当中间操作通过抛出异常来终止构建时,您也可能会丢失一些信息。那么你可能根本不会得到任何输出......这使得调试变得更加困难。

    【讨论】:

      猜你喜欢
      • 2016-08-15
      • 2021-06-23
      • 2017-12-15
      • 1970-01-01
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 2019-03-19
      • 2020-05-05
      相关资源
      最近更新 更多