Proc::Wait3 - Perl extension for wait3 system call


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>


SEE ALSO

the perl manpage, the wait3 manpage, the getrusage manpage.

 Proc::Wait3 - Perl extension for wait3 system call