2

我的问题会很短。我正在设置“num_jobs”环境选项。您可能知道它使 SCons 在多线程模式下运行(取决于 CPU 数量)。在我的自定义构建器中,我通过子进程调用了一些外部可执行文件,该子进程将一些输出打印到标准输出。

所以问题是:如何将该输出同步到标准输出?我需要同步输出,因为我有 4 个 CPU,并且在构建过程中我弄乱了信息。

谢谢。

4

1 回答 1

0

您可以使用SideEffect.

def MyFunc(env, param):
    run_ret = env.Command(... external command using param ...)

    # ensure that no unit tests are run in parallel
    env.SideEffect('#/GLOABL_LOCK', run_ret)

然后AddMethodMyFunc 到你的环境。SideEffect确保不同的调用不会Command同时发生。

于 2013-08-01T12:29:17.567 回答