.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Wait3 3pm" .TH Wait3 3pm 2024-03-07 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Proc::Wait3 \- Perl extension for wait3 system call .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use Proc::Wait3; \& \& ($pid, $status, $utime, $stime, $maxrss, $ixrss, $idrss, $isrss, \& $minflt, $majflt, $nswap, $inblock, $oublock, $msgsnd, $msgrcv, \& $nsignals, $nvcsw, $nivcsw) = wait3(0); # doesn\*(Aqt wait \& \& ($pid, $status, $utime, $stime, $maxrss, $ixrss, $idrss, $isrss, \& $minflt, $majflt, $nswap, $inblock, $oublock, $msgsnd, $msgrcv, \& $nsignals, $nvcsw, $nivcsw) = wait3(1); # waits for a child .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" If any child processes have exited, this call will "reap" the zombies similar to the perl "wait" function. .PP By default, it will return immediately and if there are no dead children, everything will be undefined. If you pass in a true argument, it will block until a child exits (or it gets a signal). .PP .Vb 1 \& $pid PID of exiting child \& \& $status exit status of child, just like C<$?> \& \& $utime floating point user cpu seconds \& \& $stime floating point system cpu seconds \& \& $maxrss the maximum resident set size utilized (in kilobytes). \& \& $minflt the number of page faults serviced without any I/O \& activity; here I/O activity is avoided by "reclaiming" a \& page frame from the list of pages awaiting reallocation. \& \& $majflt the number of page faults serviced that required I/O \& activity. \& \& $nswap the number of times a process was "swapped" out of main \& memory. \& \& $inblock the number of times the file system had to perform input. \& \& $oublock the number of times the file system had to perform output. \& \& $msgsnd the number of messages sent over sockets. \& \& $msgrcv the number of messages received from sockets. \& \& $nsignals the number of signals delivered. \& \& $nvcsw the number of times a context switch resulted due to a \& process voluntarily giving up the processor before its \& time slice was completed (usually to await availability of \& a resource). \& \& $nivcsw the number of times a context switch resulted due to a \& higher priority process becoming runnable or because the \& current process exceeded its time slice. .Ve .SH AUTHOR .IX Header "AUTHOR" C. Tilmes .SH LICENSE .IX Header "LICENSE" This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. .SH "SEE ALSO" .IX Header "SEE ALSO" perl, wait3, getrusage.