并行运行 2 个命令,但仅等待一个命令完成后再开始下一个命令

并行运行 2 个命令,但仅等待一个命令完成后再开始下一个命令

我在后台设置了许多进程,需要完成处理才能开始下一个进程。虽然我已经完成了这一设置,但有一个步骤需要同时启动 2 个程序,但我只需要完成其中一个程序即可运行下一步。我不需要完成第二个程序才能开始下一步。

程序1 程序2

程序3

我需要的是当 prog1 完成时 prog3 启动,而 prog2 继续运行。这可能吗?我尝试过的任何方法都是在启动 prog3 之前等待 prog2 完成处理。

答案1

prog2 & (prog1 ; prog3) &

答案2

prog1 &; pid1=$!; prog2 &; wait $pid1; prog3

相关内容