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: 248 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: 470 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.60 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:~# man kill
KILL(1)                     General Commands Manual                     KILL(1)

NAME
     kill - send a signal to one or more processes

SYNOPSIS
     kill [-q value|--queue value] pid ...

     kill -signal [-q value|--queue value] pid-or-pgid ...
     kill -s signal [-q value|--queue value] pid-or-pgid ...
     kill --signal signal [-q value|--queue value] pid-or-pgid ...

     kill -l [signal]
     kill --list [signal]

     kill -L
     kill --table

DESCRIPTION
     kill  sends a signal to one or more processes by pid or pgid, a process or
     process group identifier.  signal(7) explains the varieties  and  behavior
     of  signals.   kill's  default signal is TERM.  The -l and -L options list
     available signals.  Particularly useful signals include  HUP,  INT,  KILL,
     STOP,  CONT, and 0.  Specify signals by number, by name, or by name with a
     "SIG" prefix; for example, -9, -SIGKILL, and -KILL are equivalent.  A neg-
     ative operand selects a process group; see the PGID column in  ps(1)  com-
     mand  output.   A  pid of -1 is special; it indicates all processes except
     the kill process itself and init(8).

     The -q option uses an alternative  signaling  method  to  to  additionally
     transmit  an  integral  value to a receiving process.  If that process has
     installed a handler for the signal and specified the  SA_SIGINFO  flag  to
     sigaction(2),  then it can obtain this datum via the si_value field of the
     siginfo_t structure.

OPTIONS
     -signal
     -s signal
     --signal signal
            Send signal by name or number as described above.  If signal  is  0
            (zero),  kill  sends  no  signal, but still validates its operands;
            this behavior permits the caller to  check  whether  the  specified
            pids and/or pgids exist and it has permission to send them signals.

     -q value
     --queue value
            Use  sigqueue(3)  rather than kill(2) to additionally send value to
            each pid or pgid.

     -l [signal]
     --list [signal]
            Without an argument, list  signal  names.   The  optional  argument
            causes  kill  to  convert the specified signal from name to numeric
            form, or vice versa as appropriate, and report the translation.

     -L
     --table
            List signal names in tabular format.

NOTES
     The shell (command-line interpreter) often has a built-in "kill"  command.
     You  may  need  to run the command described here as /bin/kill to override
     the shell built-in.

     If you use a negative operand, specify a signal by name or number first so
     that kill can distinguish it from a process group.  For example, the  com-
     mand  "kill  123  -9" is ambiguous; it could mean to kill process 123 with
     signal 9, or to kill process 123 and process group 9 with the default sig-
     nal.

EXAMPLES
     kill -HUP -1
            Send hangup signal to all the processes you can.

     kill -l 11
            Report name corresponding to signal number 11.

     kill 123 543
            Send the default signal, SIGTERM, to processes 123 and 543.

     kill -SIGTERM -123
            Send the signal SIGTERM to process group 123.

SEE ALSO
     kill(2), killall(1), nice(1), pkill(1), renice(1), signal(7), sigqueue(3),
     skill(1)

REPORTING BUGS
     Please send bug reports to [email protected].

procps-ng                          2023-12-27                           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 -h
    789 tty7     Ssl+   2:50 /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
    791 tty1     Ss+    0:00 /usr/sbin/agetty --noreset --noclear - linux
 557324 pts/2    S      0:00 sudo sh -c stty cols 80; SHELL=/bin/true ps -h
 557326 pts/0    Ss+    0:00 sudo sh -c stty cols 80; SHELL=/bin/true ps -h
 557327 pts/0    S      0:00 sh -c stty cols 80; SHELL=/bin/true ps -h
 557329 pts/0    R      0:00 ps -h

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-Aug-25