假设我有一个 bash 脚本,它同时运行两个单独的进程,如下所示:
trap "kill 0" EXIT
./processA &
./processB &
wait
如果我只需要按 ctrl+c 来退出这两个选项,这会很有效。但是,如果 processA 退出,则 processB 继续运行。
我需要的是一种运行 processB 的方法,它会导致 processB 在 processA 退出时立即退出。 (不过我不需要它反过来工作)。
答案 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