Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PWAIT(1)		    General Commands Manual		      PWAIT(1)

NAME
       pwait --	wait for processes to terminate

SYNOPSIS
       pwait [-t duration] [-ov] pid ...

DESCRIPTION
       The  pwait utility will wait until each of the given processes has ter-
       minated.

       The following option is available:

       -o      Exit when any of	the given processes has	terminated.

       -t duration
	       If any process is still	running	 after	duration,  pwait  will
	       exit.   The  duration  value can	be integer or decimal numbers.
	       Values without unit symbols are interpreted as seconds.

	       Supported unit symbols are:
	       s       seconds
	       m       minutes
	       h       hours

       -v      Print the exit status when each process terminates or `timeout'
	       if the timer goes off earlier.

EXIT STATUS
       The pwait utility exits 0 on success, and >0 if an error	occurs.

       If the -t flag is specified and a timeout occurs, the exit status  will
       be 124.

       Invalid pids elicit a warning message but are otherwise ignored.

EXAMPLES
       Start  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 `timeout' is shown and	the exit status	is 124:

	     $ 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 ALSO
       kill(1),	pkill(1), ps(1), wait(1), kqueue(2)

NOTES
       pwait  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, pwait	will ignore its	own pid, if it is provided  as
       a process id to wait for.

HISTORY
       A pwait command first appeared in SunOS 5.8.

FreeBSD	13.2		       January 21, 2021			      PWAIT(1)

NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | EXAMPLES | SEE ALSO | NOTES | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pwait&sektion=1&manpath=FreeBSD+14.0-RELEASE+and+Ports>

home | help