.. _cmd-wait: wait - wait for jobs to complete ================================ 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 the pid 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** / **--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.