# The wait builtin command ## Synopsis wait [-f] [-n] [-p VARNAME] [ID...] ## Description The `wait` builtin command is used to wait for job completion and return exit status. - if `ID` is a job specification, it waits for all processes in the pipeline of this job - waits for a specific job (asynchronous command) and report its exit status if one or more `ID` is given - waits for all running jobs (asynchronous commands) - waits for "the next" job (`-n` option) - waits for termination instead of status change (`-f` option) `ID` may be an operating system process identifier or a shell job specification. ### Options | Option | Description | |:-------------|:--------------------------------------------------------------------------------------------------------------------------------| | `-n` | Waits for "the next" child to exit (as opposed to "all children" without this option). Accepts a list of IDs (jobs) | | `-f` | Waits for the termination of the given `ID` (instead of waiting for a status change only) | | `-p VARNAME` | When waiting for a list (-n) or all jobs, writes the job ID to the job that was actually terminated into the variable `VARNAME` | ### Return status The return status is the return status of the job waited for, or | Status | Reason | |:-------|:------------------------------------------------| | 0 | waited for all jobs in shell's job list | | 1 | the given `ID` is not a valid job or process ID | ## Examples ## Portability considerations ## See also