为了我的自动化目的,我使用Fabric。但我不能同时运行2个任务? 例如,我想运行任务1来收集tmp文件夹中的数据。我想运行任务2,它将生成数据并放入tmp。 Tas1 2将在任务2之前运行一点。
这是我的sudo代码:
output1 = run(" ./ task1_data_logger&")
output2 = run(" ./ task2_main_program")
结果:Task2_main_program运行正常,但我没有看到task1_data_logger正在运行。我以为我把&这样Task1就可以在后台运行。
我已经阅读了并行执行文档,但它更适合在多个主机中运行并行,这不是我的情况。 任何人都知道如何同时执行2个任务而不是连续执行?
谢谢。
答案 0 :(得分:0)
task1根本没有运行,因为用&运行命令在Fabric中不起作用。 这是因为,在linux中注销会话时,与其关联的所有进程都将终止。
因此,如果你想确保一个命令在你退出会话后仍然运行,你需要像这样运行它:
run('nohup sh command&')