---
name: "Rex::Commands::Process"
section: "3pm"
platform: "linux"
package: "rex"
version: "1.16.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Rex::Commands::Process"
---

# Rex::Commands::Process(3pm)

Process management commands

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