|
NAMEpwait —
wait for processes to terminate
SYNOPSIS
DESCRIPTIONThepwait utility will wait until each of the given
processes has terminated.
The following option is available:
EXIT STATUSThepwait utility exits 0 on success, and >0 if an
error occurs.
If the Invalid pids elicit a warning message but are otherwise ignored. EXAMPLESStart two sleep(1) processes in the background. The first one will sleep for 30 seconds and the second one for one hour. Wait for any of them to finish but no more than 5 seconds. Since a timeout occurs the exit status is 124:$ sleep 30 & sleep 3600 & [1] 1646 [2] 1647 $ pwait -o -t5 1646 1647 $? 124 Same as above but try to obtain the exit status of the processes.
In this case ‘ $ sleep 30 & sleep 3600 & [1] 1652 [2] 1653 $ pwait -v -t 5 1652 1653 timeout $? 124 Start two sleep(1) processes in the background sleeping for 30 and 40 seconds respectively. Wait 60 seconds for any of them to finish and get their exit codes: $ sleep 30 & sleep 40 & [1] 1674 [2] 1675 $ pwait -v -t 60 1674 1675 1674: exited with status 0. 1675: exited with status 0. [1]- Done sleep 30 [2]+ Done sleep 40 $ echo $? 0 SEE ALSOkill(1), pkill(1), ps(1), wait(1), kqueue(2)NOTESpwait is not a substitute for the
wait(1)
builtin as it will not clean up any zombies or state in the parent process.
To avoid deadlock, HISTORYApwait command first appeared in SunOS 5.8.
Visit the GSP FreeBSD Man Page Interface. |