Bash 脚本;当进程A退出时导致进程B退出

时间:2021-05-22 00:41:05

标签: bash

假设我有一个 bash 脚本,它同时运行两个单独的进程,如下所示:

trap "kill 0" EXIT

./processA &
./processB &

wait

如果我只需要按 ctrl+c 来退出这两个选项,这会很有效。但是,如果 processA 退出,则 processB 继续运行。

我需要的是一种运行 processB 的方法,它会导致 processB 在 processA 退出时立即退出。 (不过我不需要它反过来工作)。

1 个答案:

答案 0 :(得分:0)

虽然“oguz ismail”的评论在我测试时对我有用,但我想提供一个更容易遵循的替代方案:

trap "kill -9 0" EXIT

./processA &
P1=$!  # to save process ID to P1

./processB &
P2=$!  # to save process ID to P2

wait $P1  # assuming A will finish first, so wait for P1
相关问题