NAME

Proc::Wait3 - Perl extension for wait3 system call

SYNOPSIS

use Proc::Wait3;

($pid, $status, $utime, $stime, $maxrss, $ixrss, $idrss, $isrss,
$minflt, $majflt, $nswap, $inblock, $oublock, $msgsnd, $msgrcv,
$nsignals, $nvcsw, $nivcsw) = wait3(0); # doesn't 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

DESCRIPTION

If any child processes have exited, this call will "reap" the zombies similar to the perl "wait" function.

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).

$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.

AUTHOR

C. Tilmes <curt@tilmes.org>

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.

SEE ALSO

perl, wait3, getrusage.