# 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
