NAME
Rex::Commands::Process - Process management commands
DESCRIPTION
With this module you can manage processes. List, Kill, and so on.
Version <= 1.0: All these functions will not be reported.
All these functions are not idempotent.
SYNOPSIS
kill $pid;
killall "apache2";
nice($pid, $level);
EXPORTED FUNCTIONS
kill($pid, $sig)
Will kill the given process id. If $sig is specified it will kill with the given signal.
task "kill", "server01", sub {
kill 9931;
kill 9931, -9;
};
killall($name, $sig)
Will kill the given process. If $sig is specified it will kill with the given signal.
task "kill-apaches", "server01", sub {
killall "apache2";
killall "apache2", -9;
};
ps
List all processes on a system. Will return all fields of a ps aux.
task "ps", "server01", sub {
for my $process (ps()) {
say "command > " . $process->{"command"};
say "pid > " . $process->{"pid"};
say "cpu-usage> " . $process->{"cpu"};
}
};
On most operating systems it is also possible to define custom parameters for ps() function.
task "ps", "server01", sub {
my @list = grep { $_->{"ni"} == -5 } ps("command","ni");
};
This example would contain all processes with a nice of -5.
nice($pid, $level)
Renice a process identified by $pid with the priority $level.
task "renice", "server01", sub {
nice (153, -5);
};