Waiting for Processes to Complete
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"