dwww Home | Manual pages | Find package

Proc::...sTable(3pm)  User Contributed Perl Documentation  Proc::...sTable(3pm)

NAME
       Proc::ProcessTable - Perl extension to access the unix process table

SYNOPSIS
         use Proc::ProcessTable;

         my $p = Proc::ProcessTable->new( 'cache_ttys' => 1 );
         my @fields = $p->fields;
         my $ref = $p->table;

DESCRIPTION
       Perl interface to the unix process table.

METHODS
       new Creates  a  new  ProcessTable  object.  The constructor can take the
           following flags:

           enable_ttys -- causes the constructor to use the  tty  determination
           code,  which  is  the  default behavior.  Setting this to 0 disables
           this code, thus preventing the module  from  traversing  the  device
           tree,  which  on  some  systems,  can  be quite large and/or contain
           invalid device paths (for example, Solaris does not clean up invalid
           device entries when disks are swapped).  If this is  specified  with
           cache_ttys,  a warning is generated and the cache_ttys is overridden
           to be false.

           cache_ttys -- causes the constructor to look for and use a file that
           caches a mapping of tty names to device numbers, and to  create  the
           file if it doesn't exist. This feature requires the Storable module.
           By  default,  the cache file name consists of a prefix /tmp/TTYDEVS_
           and a byte order tag. The file name can be  accessed  (and  changed)
           via $Proc::ProcessTable::TTYDEVSFILE.

       fields
           Returns  a  list  of  the field names supported by the module on the
           current architecture.

       table
           Reads the process table and returns  a  reference  to  an  array  of
           Proc::ProcessTable::Process  objects. Attributes of a process object
           are returned by accessors named for the attribute; for  example,  to
           get the uid of a process just do:

           $process->uid

           The  priority  and  pgrp  methods also allow values to be set, since
           these are supported directly by internal perl functions.

EXAMPLES
        # A cheap and sleazy version of ps
        use Proc::ProcessTable;

        my $FORMAT = "%-6s %-10s %-8s %-24s %s\n";
        my $t = Proc::ProcessTable->new;
        printf($FORMAT, "PID", "TTY", "STAT", "START", "COMMAND");
        foreach my $p ( @{$t->table} ){
          printf($FORMAT,
                 $p->pid,
                 $p->ttydev,
                 $p->state,
                 scalar(localtime($p->start)),
                 $p->cmndline);
        }

        # Dump all the information in the current process table
        use Proc::ProcessTable;

        my $t = Proc::ProcessTable->new;

        foreach my $p (@{$t->table}) {
         print "--------------------------------\n";
         foreach my $f ($t->fields){
           print $f, ":  ", $p->{$f}, "\n";
         }
        }

CAVEATS
       Please see the file README in the distribution for a list  of  supported
       operating systems. Please see the file PORTING for information on how to
       help make this work on your OS.

AUTHOR
       J. Bargsten, D. Urist

SEE ALSO
       Proc::ProcessTable::Process, perl(1).

perl v5.40.0                       2024-10-15              Proc::...sTable(3pm)

Generated by dwww version 1.16 on Tue Dec 16 07:37:50 CET 2025.