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] [-opv] 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.

     -p      On exit, print a list of processes that have not terminated.

     -t duration
	     If any process is still running after duration,  pwait  will  exit.
	     The duration value can be integer or decimal numbers.  Values with-
	     out 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
	   $ echo $?
	   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
	   $ echo $?
	   124

     Start  two sleep(1) processes in the background sleeping for 30 and 40 sec-
     onds 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 ports 15.1		October 22, 2025			PWAIT(1)

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

home | help