= Description
   A Ruby interface for gathering process table information. This is a pure
   Ruby implementation that reads data out of your /proc filesystem.

= Synopsis
   require 'sys/proctable'
   include Sys

   # Everything
   ProcTable.ps{ |p|
      puts p.pid.to_s
      puts p.comm
      ...
   }

   or

   # Just one process
   p = ProcTable.ps(2123)
   puts p.pid.to_s
   puts p.comm
   ...

   or

   # Return the results as an array of ProcTableStructs
   a = ProcTable.ps()
   a.each do |p|
      puts a.pid
      ...
   end

= Constants
VERSION
   Returns the current version number for this package (as a string).

= Class Methods
ProcTable.fields
   Returns an array of fields available on the current OS.

ProcTable.ps(pid=nil)
ProcTable.ps{ |s| ... }
   If no pid's or processes are included as arguments, in block form it
   returns a struct of type ProcTableStruct for every process in the proc
   table.  Otherwise it returns an array of ProcTableStruct's.

   If a process id is provided, a single ProcTable struct is returned, or
   nil if the pid is not found.

= Exception Classes
ProcTable::Error < StandardError
   Raised if the /proc field is unreadable and/or unmounted.

= Supported fields
   You can view the supported fields with the "fields()" class method.

= Future Plans
   None at this time. Please post any feature requests on the project page
   at http://www.rubyforge.org/projects/sysutils.

= Known Bugs
   None known.  Please log any bugs on the project page at
   http://www.rubyforge.org/projects/sysutils

= License
   Ruby's

= Copyright
   (C) 2003-2009 Daniel J. Berger
    All Rights Reserved
    
= Warranty
   This package is provided "as is" and without any express or
   implied warranties, including, without limitation, the implied
   warranties of merchantability and fitness for a particular purpose.

= Author
   Daniel J. Berger
   djberg96 at nospam at gmail dot com
   imperator on IRC (Freenode)

= See Also
    ps, proc(5)
