Query: proc::processtable
OS: debian
Section: 3pm
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
ProcessTable(3pm) User Contributed Perl Documentation ProcessTable(3pm)NAMEProc::ProcessTable - Perl extension to access the unix process tableSYNOPSISuse Proc::ProcessTable; $p = new Proc::ProcessTable( 'cache_ttys' => 1 ); @fields = $p->fields; $ref = $p->table;DESCRIPTIONPerl interface to the unix process table.METHODSnew 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 diables 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 file is /tmp/TTYDEVS by default). This feature requires the Storable module. 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; $FORMAT = "%-6s %-10s %-8s %-24s %s "; $t = new Proc::ProcessTable; printf($FORMAT, "PID", "TTY", "STAT", "START", "COMMAND"); foreach $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; $t = new Proc::ProcessTable; foreach $p (@{$t->table}) { print "-------------------------------- "; foreach $f ($t->fields){ print $f, ": ", $p->{$f}, " "; } }CAVEATSPlease 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.AUTHORD. Urist, durist@frii.comSEE ALSOProc::ProcessTable::Process.pm, perl(1). perl v5.14.2 2013-02-10 ProcessTable(3pm)
Related Man Pages |
---|
privileges::drop(3pm) - debian |
child::link::proc(3pm) - debian |
font::ttf::oldmort(3pm) - debian |
io::async::pid(3pm) - debian |
proc::background(3pm) - debian |
Similar Topics in the Unix Linux Community |
---|
on unix internals |
how to print the values of pcpu of any process in unix |