1

可能重复:
当任何子进程以代码结束时,如何在 bash 中等待多个子进程完成并返回退出代码!= 0?= 0?

我有以下问题:

我有 3 个进程放入脚本中

进程1 进程2 进程3

我希望进程 1 和 2 同时运行,但它们都在进程 3 开始之前完成。

我想它类似于以下内容..但我不确定那个“等待”

#!/bin/sh

    (
      process1 &
      process2 &

      wait

      process3

                )

谢谢

法比奥

4

1 回答 1

3

只需保存两个进程的 pid 并等待两者都退出

#!/bin/bash

process1 &
pid1=$!
process2 &
pid2=$!

wait ${pid1}
echo "Return value of process1: $?"
wait ${pid2}
echo "Return value of process2: $?"

process3
于 2013-02-05T11:21:04.797 回答