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 . 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 AIX port Mike Romberg HPUX port Slaven Rezic FreeBSD port W. Phillip Moore IRIX port Peter ? IRIX version patch Rolf Petter Halle solaris nanosecond patch Bernhard Schmalhofer dec_osf port Sean Eskins bsdi port Peter Reich netbsd port Dave Alden solaris "nice" and "onproc" patch Noel Paul dec_osf and IRIX patches F. Buirey AIX patch for SMP Aaron Sherman 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