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