#!/bin/bash
command1 &
command2 &
command3 &
wait
command4
wait
(tanpa argumen) akan menunggu sampai semua proses latar belakang telah keluar.
Deskripsi lengkap wait
dalam bash
manual:
wait [-n] [n ...]
Tunggu setiap proses anak yang ditentukan dan kembalikan status penghentiannya. Masing n
- masing dapat berupa ID proses atau spesifikasi pekerjaan; jika spec pekerjaan diberikan, semua proses dalam pipeline pekerjaan menunggu. Jika n
tidak diberikan, semua proses anak yang sedang aktif menunggu, dan status pengembalian adalah nol. Jika
-n
opsi ini disediakan, wait
tunggu pekerjaan apa pun untuk berakhir dan mengembalikan status keluarnya. Jika n
menentukan proses atau pekerjaan yang tidak ada, status pengembalian adalah 127. Jika tidak, status pengembalian adalah status keluar dari proses terakhir atau pekerjaan yang ditunggu.
PID1=$!
dan kemudian menunggu mereka semuawait "$PID1" "$PID2" "$PID3"
. Itu sedikit lebih rumit, tetapi akan berhasil jika proses tersebut memiliki anak-anak lain yang Anda tidak ingin menunggu.