Packages and Binaries:

libproc2-1

Library for accessing process information from /proc
The libproc2 library is a way of accessing information out of the /proc filesystem.

This package contains the shared libraries necessary to run programs compiled with libproc2.

Installed size: 252 KB
How to install: sudo apt install libproc2-1

Dependencies:
  • libc6
  • libsystemd0

libproc2-dev

Library for accessing process information from /proc
These are the header files for libproc2. Some packages using libproc2 to access process information from /proc need these to compile.

Installed size: 478 KB
How to install: sudo apt install libproc2-dev

Dependencies:
  • libproc2-1

procps

/proc file system utilities
This package provides command line and full screen utilities for browsing procfs, a “pseudo” file system dynamically generated by the kernel to provide information about the status of entries in its process table (such as whether the process is running, stopped, or a “zombie”).

It contains free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, and watch.

Installed size: 2.62 MB
How to install: sudo apt install procps

Dependencies:
  • libc6
  • libncursesw6
  • libproc2-1
  • libsystemd0
  • libtinfo6
free

Display amount of free and used memory in the system Allocate and free dynamic memory

root@kali:~# free --help

Usage:
 free [options]

Options:
 -b, --bytes         show output in bytes
     --kilo          show output in kilobytes
     --mega          show output in megabytes
     --giga          show output in gigabytes
     --tera          show output in terabytes
     --peta          show output in petabytes
 -k, --kibi          show output in kibibytes
 -m, --mebi          show output in mebibytes
 -g, --gibi          show output in gibibytes
     --tebi          show output in tebibytes
     --pebi          show output in pebibytes
 -h, --human         show human-readable output
     --si            use powers of 1000 not 1024
 -l, --lohi          show detailed low and high memory statistics
 -L, --line          show output on a single line
 -t, --total         show total for RAM + swap
 -v, --committed     show committed memory and commit limit
 -s N, --seconds N   repeat printing every N seconds
 -c N, --count N     repeat printing N times, then exit
 -w, --wide          wide output

     --help     display this help and exit
 -V, --version  output version information and exit

For more details see free(1).

hugetop

Report huge page information

root@kali:~# hugetop -h

Usage:
 hugetop [options]

Options:
 -d, --delay <secs>  delay updates
 -n, --numa          display per NUMA nodes Huge pages information
 -o, --once          only display once, then exit
 -H, --human         display human-readable output

 -h, --help     display this help and exit
 -V, --version  output version information and exit

kill

Send a signal to one or more processes Send signal to a process

root@kali:~# kill -h

Usage:
 kill [options] <pid> [...]

Options:
 <pid> [...]            send signal to every <pid> listed
 -<signal>, -s, --signal <signal>
                        specify the <signal> to be sent
 -q, --queue <value>    integer value to be sent with the signal
 -l, --list=[<signal>]  list all signal names, or convert one to a name
 -L, --table            list all signal names in a nice table

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see kill(1).

pgrep

Look up, signal, or wait for processes based on name and other attributes

root@kali:~# pgrep -h

Usage:
 pgrep [options] <pattern>

Options:
 -d, --delimiter <string>  specify output delimiter
 -l, --list-name           list PID and process name
 -a, --list-full           list PID and full command line
     --quiet               suppress all normal output
 -v, --inverse             negates the matching
 -w, --lightweight         list all TID
 -c, --count               count of matching processes
 -f, --full                use full command line to match
 -g, --pgroup <PGID,...>   match listed process group IDs
 -G, --group <GID,...>     match real group IDs
 -i, --ignore-case         match case insensitively
 -n, --newest              select most recently started
 -o, --oldest              select least recently started
 -O, --older <seconds>     select where older than seconds
 -p, --pid <PID,...>       match process PIDs
 -P, --parent <PPID,...>   match only child processes of the given parent
 -s, --session <SID,...>   match session IDs
     --signal <sig>        signal to send (either number or name)
 -t, --terminal <tty,...>  match by controlling terminal
 -u, --euid <ID,...>       match by effective IDs
 -U, --uid <ID,...>        match by real IDs
 -x, --exact               match exactly with the command name
 -F, --pidfile <file>      read PIDs from file
 -L, --logpidfile          fail if PID file is not locked
 -r, --runstates <state>   match runstates [D,S,Z,...]
 -A, --ignore-ancestors    exclude our ancestors from results
 -Q, --shell-quote         output the command line in shell-quoted form
 --cgroup <grp,...>        match by cgroup v2 names
 --ns <PID>                match the processes that belong to the same
                           namespace as <pid>
 --nslist <ns,...>         list which namespaces will be considered for
                           the --ns option.
                           Available namespaces: ipc, mnt, net, pid, user, uts
  --env <name=val,...>     match on environment variable

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see pgrep(1).

pidwait

Look up, signal, or wait for processes based on name and other attributes

root@kali:~# pidwait -h

Usage:
 pidwait [options] <pattern>

Options:
 -e, --echo                display PIDs before waiting
 -c, --count               count of matching processes
 -f, --full                use full command line to match
 -g, --pgroup <PGID,...>   match listed process group IDs
 -G, --group <GID,...>     match real group IDs
 -i, --ignore-case         match case insensitively
 -n, --newest              select most recently started
 -o, --oldest              select least recently started
 -O, --older <seconds>     select where older than seconds
 -p, --pid <PID,...>       match process PIDs
 -P, --parent <PPID,...>   match only child processes of the given parent
 -s, --session <SID,...>   match session IDs
     --signal <sig>        signal to send (either number or name)
 -t, --terminal <tty,...>  match by controlling terminal
 -u, --euid <ID,...>       match by effective IDs
 -U, --uid <ID,...>        match by real IDs
 -x, --exact               match exactly with the command name
 -F, --pidfile <file>      read PIDs from file
 -L, --logpidfile          fail if PID file is not locked
 -r, --runstates <state>   match runstates [D,S,Z,...]
 -A, --ignore-ancestors    exclude our ancestors from results
 -Q, --shell-quote         output the command line in shell-quoted form
 --cgroup <grp,...>        match by cgroup v2 names
 --ns <PID>                match the processes that belong to the same
                           namespace as <pid>
 --nslist <ns,...>         list which namespaces will be considered for
                           the --ns option.
                           Available namespaces: ipc, mnt, net, pid, user, uts
  --env <name=val,...>     match on environment variable

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see pgrep(1).

pkill

Look up, signal, or wait for processes based on name and other attributes

root@kali:~# pkill -h

Usage:
 pkill [options] <pattern>

Options:
 -<sig>                    signal to send (either number or name)
 -H, --require-handler     match only if signal handler is present
 -q, --queue <value>       integer value to be sent with the signal
 -e, --echo                display what is killed
 -m, --mrelease            release process memory immediately after kill
 -c, --count               count of matching processes
 -f, --full                use full command line to match
 -g, --pgroup <PGID,...>   match listed process group IDs
 -G, --group <GID,...>     match real group IDs
 -i, --ignore-case         match case insensitively
 -n, --newest              select most recently started
 -o, --oldest              select least recently started
 -O, --older <seconds>     select where older than seconds
 -p, --pid <PID,...>       match process PIDs
 -P, --parent <PPID,...>   match only child processes of the given parent
 -s, --session <SID,...>   match session IDs
     --signal <sig>        signal to send (either number or name)
 -t, --terminal <tty,...>  match by controlling terminal
 -u, --euid <ID,...>       match by effective IDs
 -U, --uid <ID,...>        match by real IDs
 -x, --exact               match exactly with the command name
 -F, --pidfile <file>      read PIDs from file
 -L, --logpidfile          fail if PID file is not locked
 -r, --runstates <state>   match runstates [D,S,Z,...]
 -A, --ignore-ancestors    exclude our ancestors from results
 -Q, --shell-quote         output the command line in shell-quoted form
 --cgroup <grp,...>        match by cgroup v2 names
 --ns <PID>                match the processes that belong to the same
                           namespace as <pid>
 --nslist <ns,...>         list which namespaces will be considered for
                           the --ns option.
                           Available namespaces: ipc, mnt, net, pid, user, uts
  --env <name=val,...>     match on environment variable

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see pgrep(1).

pmap

Report memory map of a process

root@kali:~# pmap -h

Usage:
 pmap [options] PID [PID ...]

Options:
 -x, --extended              show details
 -X                          show even more details
            WARNING: format changes according to /proc/PID/smaps
 -XX                         show everything the kernel provides
 -c, --read-rc               read the default rc
 -C, --read-rc-from=<file>   read the rc from file
 -n, --create-rc             create new default rc
 -N, --create-rc-to=<file>   create new rc to file
            NOTE: pid arguments are not allowed with -n, -N
 -d, --device                show the device format
 -q, --quiet                 do not display header and footer
 -p, --show-path             show path in the mapping
 -k, --use-kernel-name       use names provided by kernel
 -A, --range=<low>[,<high>]  limit results to the given range

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see pmap(1).

ps

Report a snapshot of the current processes.

root@kali:~# ps --help

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).

pwdx

Report current working directory of a process

root@kali:~# pwdx -h

Usage:
 pwdx [options] pid...

Options:
 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see pwdx(1).

skill

Send a signal or report process status

root@kali:~# skill -h

Usage:
 skill [signal] [options] <expression>

Options:
 -f, --fast         fast mode (not implemented)
 -i, --interactive  interactive
 -l, --list         list all signal names
 -L, --table        list all signal names in a nice table
 -n, --no-action    do not actually kill processes; just print what would happen
 -v, --verbose      explain what is being done
 -w, --warnings     enable warnings (not implemented)

Expression can be: terminal, user, pid, command.
The options below may be used to ensure correct interpretation.
 -c, --command <command>  expression is a command name
 -p, --pid <pid>          expression is a process id number
 -t, --tty <tty>          expression is a terminal
 -u, --user <username>    expression is a username

Alternatively, expression can be:
 --ns <pid>               match the processes that belong to the same
                          namespace as <pid>
 --nslist <ns,...>        list which namespaces will be considered for
                          the --ns option; available namespaces are:
                          ipc, mnt, net, pid, user, uts


 -h, --help     display this help and exit
 -V, --version  output version information and exit

The default signal is TERM. Use -l or -L to list available signals.
Particularly useful signals include HUP, INT, KILL, STOP, CONT, and 0.
Alternate signals may be specified in three ways: -SIGKILL -KILL -9

For more details see skill(1).

slabtop

Display kernel slab cache information in real time

root@kali:~# slabtop -h

Usage:
 slabtop [options]

Options:
 -d, --delay <secs>  delay updates
 -o, --once          only display once, then exit
 --human             show human-readable output
 -s, --sort <char>   specify sort criteria by character (see below)

 -h, --help     display this help and exit
 -V, --version  output version information and exit

The following are valid sort criteria:
 a: sort by number of active objects
 b: sort by objects per slab
 c: sort by cache size
 l: sort by number of slabs
 v: sort by (non display) number of active slabs
 n: sort by name
 o: sort by number of objects (the default)
 p: sort by (non display) pages per slab
 s: sort by object size
 u: sort by cache utilization

For more details see slabtop(1).

snice

Send a signal or report process status

root@kali:~# snice -h

Usage:
 snice [new priority] [options] <expression>

Options:
 -f, --fast         fast mode (not implemented)
 -i, --interactive  interactive
 -l, --list         list all signal names
 -L, --table        list all signal names in a nice table
 -n, --no-action    do not actually kill processes; just print what would happen
 -v, --verbose      explain what is being done
 -w, --warnings     enable warnings (not implemented)

Expression can be: terminal, user, pid, command.
The options below may be used to ensure correct interpretation.
 -c, --command <command>  expression is a command name
 -p, --pid <pid>          expression is a process id number
 -t, --tty <tty>          expression is a terminal
 -u, --user <username>    expression is a username

Alternatively, expression can be:
 --ns <pid>               match the processes that belong to the same
                          namespace as <pid>
 --nslist <ns,...>        list which namespaces will be considered for
                          the --ns option; available namespaces are:
                          ipc, mnt, net, pid, user, uts


 -h, --help     display this help and exit
 -V, --version  output version information and exit

The default priority is +4. (snice +4 ...)
Priority numbers range from +20 (slowest) to -20 (fastest).
Negative priority numbers are restricted to administrative users.

For more details see snice(1).

sysctl

Read/write system parameters Configure kernel parameters at runtime

root@kali:~# sysctl -h

Usage:
 sysctl [options] [variable[=value] ...]

Options:
  -a, --all            display all variables
  -A                   alias of -a
  -X                   alias of -a
      --deprecated     include deprecated parameters to listing
      --dry-run        Print the key and values but do not write
  -b, --binary         print value without new line
  -e, --ignore         ignore unknown variables errors
  -N, --names          print variable names without values
  -n, --values         print only values of the given variable(s)
  -p, --load[=<file>]  read values from file
  -f                   alias of -p
      --system         read values from all system directories
  -r, --pattern <expression>
                       select setting that match expression
  -q, --quiet          do not echo variable set
  -w, --write          enable writing a value to variable
  -o                   does nothing
  -x                   does nothing
  -d                   alias of -h

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see sysctl(8).

tload

Graphic representation of system load average

root@kali:~# tload -h

Usage:
 tload [options] [tty]

Options:
 -d, --delay <secs>  update delay in seconds
 -s, --scale <num>   vertical scale

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see tload(1).

top

Display Linux processes

root@kali:~# top -h

Usage:
 top [options]

Options:
 -A, --apply-defaults            if present, ignore config file(s)
 -b, --batch-mode                run in non-interactive batch mode
 -c, --cmdline-toggle            reverse last remembered 'c' state
 -d, --delay =SECS [.TENTHS]     iterative delay as SECS [.TENTHS]
 -E, --scale-summary-mem =SCALE  set mem as: k,m,g,t,p,e for SCALE
 -e, --scale-task-mem =SCALE     set mem with: k,m,g,t,p for SCALE
 -H, --threads-show              show tasks plus all their threads
 -i, --idle-toggle               reverse last remembered 'i' state
 -n, --iterations =NUMBER        exit on maximum iterations NUMBER
 -O, --list-fields               output all field names, then exit
 -o, --sort-override =FIELD      force sorting on this named FIELD
 -p, --pid =PIDLIST              monitor only the tasks in PIDLIST
 -S, --accum-time-toggle         reverse last remembered 'S' state
 -s, --secure-mode               run with secure mode restrictions
 -U, --filter-any-user =USER     show only processes owned by USER
 -u, --filter-only-euser =USER   show only processes owned by USER
 -w, --width [=COLUMNS]          change print width [,use COLUMNS]
 -1, --single-cpu-toggle         reverse last remembered '1' state

 -h, --help                      display this help text, then exit
 -V, --version                   output version information & exit

For more details see top(1).

uptime

Tell how long the system has been running.

root@kali:~# uptime -h

Usage:
 uptime [options]

Options:
 -c, --container show container uptime
 -p, --pretty   show uptime in pretty format
 -r, --raw      show uptime values in raw format
 -s, --since    system up since

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see uptime(1).

vmstat

Report virtual memory statistics

root@kali:~# vmstat -h

Usage:
 vmstat [options] [delay [count]]

Options:
 -a, --active           active/inactive memory
 -f, --forks            number of forks since boot
 -m, --slabs            slabinfo
 -n, --one-header       do not redisplay header
 -s, --stats            event counter statistics
 -d, --disk             disk statistics
 -D, --disk-sum         summarize disk statistics
 -p, --partition <dev>  partition specific statistics
 -S, --unit <char>      define display unit
 -w, --wide             wide output
 -t, --timestamp        show timestamp
 -y, --no-first         skips first line of output

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see vmstat(8).

w

Show who is logged on and what they are doing.

root@kali:~# w --help

Usage:
 w [options] [user]

Options:
 -c, --container     show container uptime
 -h, --no-header     do not print header
 -u, --no-current    ignore current process username
 -s, --short         short format
 -t, --terminal      show terminals
 -f, --from          toggle remote hostname field (default: on)
 -o, --old-style     old style output
 -i, --ip-addr       display IP address instead of hostname (if possible)
 -p, --pids          show the PID(s) of processes in WHAT

     --help     display this help and exit
 -V, --version  output version information and exit

For more details see w(1).

watch

Execute a program periodically, showing output fullscreen

root@kali:~# watch -h

Usage:
 watch [options] command

Options:
  -b, --beep             beep if command has a non-zero exit
  -c, --color            interpret ANSI color and style sequences
  -C, --no-color         do not interpret ANSI color and style sequences
  -d, --differences[=<permanent>]
                         highlight changes between updates
  -e, --errexit          exit if command has a non-zero exit
  -f, --follow           Follow the output and don't clear screen
  -g, --chgexit          exit when output from command changes
  -q, --equexit <cycles>
                         exit when output from command does not change
  -n, --interval <secs>  seconds to wait between updates
  -p, --precise          -n includes command running time
  -r, --no-rerun         do not rerun program on window resize
  -s, --shotsdir         directory to store screenshots
  -t, --no-title         turn off header
  -w, --no-wrap          turn off line wrapping
  -x, --exec             pass command to exec instead of "sh -c"

 -h, --help     display this help and exit
 -v, --version  output version information and exit

For more details see watch(1).



Updated on: 2026-Sep-30