From f777b8f1315b047ab14c093246e4dab4ded336dc Mon Sep 17 00:00:00 2001 From: "Phaidra Developers (phkug03)" <devel.phaidra@univie.ac.at> Date: Thu, 25 Mar 2021 16:53:05 +0100 Subject: [PATCH] get process list for further processing --- modules/util/Util/Processes.pm | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 modules/util/Util/Processes.pm diff --git a/modules/util/Util/Processes.pm b/modules/util/Util/Processes.pm new file mode 100644 index 0000000..66c831a --- /dev/null +++ b/modules/util/Util/Processes.pm @@ -0,0 +1,47 @@ +=head1 NAME + + Util::Processes + +=head1 DESCRIPTION + +Deal with Unix processes + +=cut + +package Util::processes; + +sub psauxww +{ + my @cmd= qw(ps auxww); + + open (PS, '-|', @cmd) or die; + my $columns= <PS>; + chop($columns); + my @columns= split(' ', $columns); + my $column_count= 0; + my %columns= map { $_ => $column_count++ } @columns; + # print __LINE__, " columns: ", main::Dumper(\@columns); + # print __LINE__, " column_count=[$column_count]\n"; + my @processes; + while (<PS>) + { + chop; + # print __LINE__, " _=[$_]\n"; + my @f= split(' ', $_, $column_count); + my %f= map { $_ => shift (@f) } @columns; + # print __LINE__, " proc: ", main::Dumper(\%f); + push (@processes, \%f); + } + close (PS); + + my $proc= + { + columns => \@columns, + processes => \@processes, + }; + + $proc; +} + +1; + -- GitLab