.. _cmd-wait: wait - wait for jobs to complete ================================ Synopsis -------- .. synopsis:: wait [-n | --any] [PID | PROCESS_NAME] ... Description ----------- ``wait`` waits for child jobs to complete. If a *PID* is specified, the command waits for the job that the process with that process ID belongs to. If a *PROCESS_NAME* is specified, the command waits for the jobs that the matched processes belong to. If neither a pid nor a process name is specified, the command waits for all background jobs. If the **-n** or **--any** flag is provided, the command returns as soon as the first job completes. If it is not provided, it returns after all jobs complete. Example ------- :: sleep 10 & wait $last_pid spawns ``sleep`` in the background, and then waits until it finishes. :: for i in (seq 1 5); sleep 10 &; end wait spawns five jobs in the background, and then waits until all of them finishes. :: for i in (seq 1 5); sleep 10 &; end hoge & wait sleep spawns five jobs and ``hoge`` in the background, and then waits until all ``sleep``\s finish, and doesn't wait for ``hoge`` finishing.