gpt4 book ai didi

linux - 编写shell脚本时如何使命令并发运行?

转载 作者:太空宇宙 更新时间:2023-11-04 11:29:19 27 4
gpt4 key购买 nike

我需要下载两个项目,即A和B,最后的结果是B项目的build,但是只有安装了A项目才能build。

所以我应该完成的任务如下:

  1. 下载A
  2. 下载B
  3. 构建 A,然后安装 A
  4. 构建 B,然后安装 B

1和2可以同时运行,2 和 3 并发运行,

传统的编程方式是:

1 && 3
2 && 4

是否有更好的 shell 编程方法,可以更快地完成?

( (1 && 3 )  & 2 )  && 4    // is there possible? or will this be quicker than the former one?

那么如何让这些任务并发运行呢?

最佳答案

您可以使用传统方式,将每个 &&-list 放在后台(感谢 William 向我指出正确的依赖关系):

1 && 3 &
2 && wait && 4

首先我们在后台运行列表1 && 3。只有在作业 1 成功完成后,作业 3 才会开始。

接下来,在后台启动一个新列表。此列表运行作业 2,如果成功,则调用 wait,它将等待所有 后台作业完成。 (我不太清楚确切的顺序,但它似乎不会等待它所属的后台作业。这很好,因为你会遇到死锁情况,作业正在等待自己完成. 更新:第二个列表必须在前台运行,以便 wait 命令将后台命令视为后台作业。)在作业 1、2 和 3 全部完成后,wait 成功完成,作业 4 开始。

关于linux - 编写shell脚本时如何使命令并发运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12290049/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com