summaryrefslogtreecommitdiff
path: root/Doc/help/wait
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/help/wait')
-rw-r--r--Doc/help/wait25
1 files changed, 25 insertions, 0 deletions
diff --git a/Doc/help/wait b/Doc/help/wait
new file mode 100644
index 000000000..876a9669f
--- /dev/null
+++ b/Doc/help/wait
@@ -0,0 +1,25 @@
+wait [ job ... ]
+ Wait for the specified jobs or processes. If job is not given
+ then all currently active child processes are waited for. Each
+ job can be either a job specification or the process ID of a job
+ in the job table. The exit status from this command is that of
+ the job waited for. If job represents an unknown job or process
+ ID, a warning is printed (unless the POSIX_BUILTINS option is
+ set) and the exit status is 127.
+
+ It is possible to wait for recent processes (specified by
+ process ID, not by job) that were running in the background even
+ if the process has exited. Typically the process ID will be
+ recorded by capturing the value of the variable $! immediately
+ after the process has been started. There is a limit on the
+ number of process IDs remembered by the shell; this is given by
+ the value of the system configuration parameter CHILD_MAX. When
+ this limit is reached, older process IDs are discarded, least
+ recently started processes first.
+
+ Note there is no protection against the process ID wrapping,
+ i.e. if the wait is not executed soon enough there is a chance
+ the process waited for is the wrong one. A conflict implies
+ both process IDs have been generated by the shell, as other pro-
+ cesses are not recorded, and that the user is potentially inter-
+ ested in both, so this problem is intrinsic to process IDs.