运行 2 个任务同时使用 Fabric

Running 2 tasks at the same time using Fabric

出于自动化目的,我使用的是 Fabric。但是我不能运行同时2个任务? 比如我要运行任务1采集tmp文件夹中的数据。我想要 运行 任务 2,它将生成数据并放入 tmp。 Tas1 2 将在任务 2 之前 运行ning 一点。

这是我的 sudo 代码:

output1 = 运行("./task1_data_logger &")
output2 = 运行("./task2_main_program")

结果:Task2_main_program 运行ning 很好,但我根本没看到 task1_data_logger 运行ning。我以为我放了 & 以便 Task1 可以在后台 运行。

我已经阅读了并行执行文档,但更多的是 运行 在多个主机中并行执行,这不是我的情况。 任何人都知道如何同时而不是串行执行 2 个任务?

谢谢。

任务 1 根本没有 运行,因为 运行在 Fabric 中使用 & 执行命令不起作用。 这是因为,在 linux 中,当您注销会话时,与其关联的所有进程都将终止。

因此,如果您想确保即使在您退出会话后命令仍保持 运行ning,您需要 运行 像这样:

运行('nohup sh command &')