NAME

Proc::ProcessTable::InfoString - Creates a PS like stat string showing a symbolic representation of various flags/state as well as the wchan.

VERSION

Version 0.1.0

SYNOPSIS

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";
}

The mapping for the left side of the output is as below.

States  Description
Z       Zombie
S       Sleep
W       Wait
R       Run
T       Stopped
t       Tracing stop
I       Idle
L       Blocked on a kernel lock
D       Uninterruptible sleep
X       Dead
K       Wakekill
P       Parked
?       Unknown state

Flags   Description
O       Swapped Output
E       Exiting
s       Session Leader
L       POSIX lock advisory
+       has controlling terminal
c       controlling tty is active
X       traced by a debugger
F       being forked

Flag support varies by OS. FreeBSD has the fullest support. On Linux the flags E, s, +, F, and X are supported. On other platforms only the state and wait channel are shown.

METHODS

new

This initiates the object.

One argument is taken and that is an optional hash reference.

args hash

The values below are color names to be passed to the color function of Term::ANSIColor.

If a color is not specified, no ANSI color codes are used for that section. When a color is used, that section of the string is terminated by an ANSI color reset.

flags_color

The color to use for the flags section of the string.

wchan_color

The color to use for the wait channel section of the string.

info

Creates the info string for a process.

One argument is taken and that is a Proc::ProcessTable::Process object, as found in the table returned by Proc::ProcessTable.

If the passed value is undefined or not a Proc::ProcessTable::Process object, an empty string is returned.

print $proc->pid.' '.$is->info( $proc )."\n";

AUTHOR

Zane C. Bowers-Hadley, <vvelox at vvelox.net>

BUGS

Please report any bugs or feature requests to bug-proc-processtable-infostring at rt.cpan.org, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Proc-ProcessTable-InfoString. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Proc::ProcessTable::InfoString

You can also look for information at:

LICENSE AND COPYRIGHT

This software is Copyright (c) 2019 by Zane C. Bowers-Hadley.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)