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