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

FreeBSD Manual Pages

  
 
  

home | help
PWAIT(1)		  BSD 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 termi-
     nated.

     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 sta-
     tus 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.

BSD			       January 21, 2021				   BSD

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+13.0-RELEASE+and+Ports>

home | help