Proc-ProcessTable-InfoString

Prints a handy info string representing state and various flags as well as showing the wait channel in use if there is one.

use Proc::ProcessTable::InfoString;
use Proc::ProcessTable;

my $is = Proc::ProcessTable::InfoString->new;

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

foreach my $proc ( @{ $pt } ){
    print $proc->pid.' '.$is->info( $proc )."\n";
}

results in output like...

57255 Rs+
57254 Ss+ zio->io_
57253 Ss+ wait
57252 Ss+ zcw->zcw
57226 Ss+ zio->io_
57224 Ss+ wait
57223 Rs+
57222 Ss+ wait
56824 Ss+ zio->io_
55632 Ss+ zcw->zcw
55631 Ss+ wait

How much is shown depends on what Proc::ProcessTable reports for the OS in question.

| OS | Flags | |----------------------|-------------------------| | FreeBSD, MidnightBSD | O, E, s, L, +, c, F, X | | Linux, GNU/kFreeBSD | O, E, s, +, F, X | | OpenBSD | O, s, + | | NetBSD, DragonFly | s, + | | anything else | O |

For printing what the states and flags mean, tailored to the OS it is running on, there is proc_infostring_describe, which does not require creating a object first, making it handy for --help output.

use Proc::ProcessTable::InfoString qw(proc_infostring_describe);

print proc_infostring_describe();

INSTALLATION

To install this module, run the following commands:

perl Makefile.PL
make
make test
make install