Proc::ProcessTable, version .26

STATUS
======
This is ALPHA software; use at your own risk. Currently works on
linux, solaris, aix, hpux, freebsd, irix, dec_osf, bsdi and
netbsd. Please see the "README.osname" files for details on individual
os implementations. Please see the file PORTING if you are interested
in making it work on something else. Please see the file TODO for a
list of issues that need to be addressed.

Comments, bug reports, patches and especially ports are greatly
appreciated.

DESCRIPTION
===========
This module is a first crack at providing a consistent interface to
Unix (and maybe other multitasking OS's) process table information.
The impetus for this came about with my frustration at having to parse
the output of various systems' ps commands to check whether specific
processes were running on different boxes at a larged mixed Unix site.
The output format of ps was different on each OS, and sometimes
changed with each new release of an OS. Also, running a ps subprocess
from within a perl or shell script and parsing the output was not a
very efficient or aesthetic way to do things.

With this module, you can do things like this:

	# kill memory pigs 
	use Proc::ProcessTable;

	$t = new Proc::ProcessTable;
        foreach $p ( @{$t->table} ){	
	  if( $p->pctmem > 95 ){
	    $p->kill(9);
          }		
        }

There is another short example in the file "example.pl" in the
distribution. For a more elaborate example (in German), see
<http://www.linux-magazin.de/ausgabe.1999.02/Proc/proc.html>.

There is also a module called Proc::Killall contributed by Aaron
Sherman to kill all processes whose command-lines match a given
pattern. This module is installed along with Proc::ProcessTable. Pod
documentation is included in the module. 

INSTALLATION
============
This module needs the File::Find and Storable modules in order to
work. File::Find is generally included with perl distributions;
Storable is available from CPAN. 

After unpacking the tar file, do:

        perl Makefile.PL 
        make
	make test
        make install

There is embedded POD documentation in ProcessTable.pm and
Process/Process.pm.

ACKNOWLEDGEMENTS
================
Thanks to the many people who sent in patches to help get the solaris
version to build. Thanks especially to the following contributors:

David Paquet <David.Paquet@cnes.fr>		AIX port
Mike Romberg <romberg@fsl.noaa.gov>		HPUX port
Slaven Rezic <eserte@cs.tu-berlin.de>		FreeBSD port
W. Phillip Moore <wpm@ms.com>			IRIX port
Peter ? <hooft@natlab.research.philips.com>	IRIX version patch
Rolf Petter Halle <rph@nextel.no>		solaris nanosecond patch
Bernhard Schmalhofer <Bernhard.Schmalhofer@fazi.de>	dec_osf port
Sean Eskins <sean@gilasoft.com>				bsdi port
Peter Reich <pr@alles.prima.de>				netbsd port
Dave Alden <alden@math.ohio-state.edu>	solaris "nice" and "onproc" patch
Noel Paul <NoelP@mincom.com>		dec_osf and IRIX patches
F. Buirey <f.buirey@saprr.fr> 		AIX patch for SMP
Aaron Sherman <ajs@ajs.com>		Proc::Killall module

COPYRIGHT
=========
Copyright (c) 1998, 1999, 2000 Daniel J. Urist. All rights reserved.
This package is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

--
Daniel J. Urist
durist@world.std.com
http://www.world.std.com/~durist
