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