Waiting for Processes to Complete

Updated

October 31, 2026

Waiting for Processes to Complete

The wait builtin pauses execution until specified child processes terminate:

# Spawn multiple workers
pids=()
for target in node1 node2 node3; do
    ping -c 3 "$target" &
    pids+=($!)
done

# Wait for all background tasks and collect exit status
failed=0
for pid in "${pids[@]}"; do
    wait "$pid" || (( failed++ ))
done

echo "Failed pings: $failed"