2023-07-05 10:53:12 +02:00
|
|
|
# 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
|
|
|
|
-------- -------------------------------------------------
|
2024-03-30 19:22:45 +01:00
|
|
|
0 waited for all jobs in shell's job list
|
2023-07-05 10:53:12 +02:00
|
|
|
1 the given `ID` is not a valid job or process ID
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
## Portability considerations
|
|
|
|
|
|
|
|
## See also
|