Packages and Binaries:

libproc2-0

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: 235 KB
How to install: sudo apt install libproc2-0

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: 446 KB
How to install: sudo apt install libproc2-dev

Dependencies:
  • libproc2-0

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.33 MB
How to install: sudo apt install procps

Dependencies:
  • init-system-helpers
  • libc6
  • libncursesw6
  • libproc2-0
  • 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).

kill

Send a signal to a process Send signal to a process

root@kali:~# man kill
KILL(1)                          User Commands                          KILL(1)

NAME
     kill - send a signal to a process

SYNOPSIS
     kill [options] <pid> [...]

DESCRIPTION
     The  default signal for kill is TERM.  Use -l or -L to list available sig-
     nals.  Particularly useful signals include HUP, INT, KILL, STOP, CONT, and
     0.  Alternate signals may be specified in  three  ways:  -9,  -SIGKILL  or
     -KILL.   Negative  PID  values may be used to choose whole process groups;
     see the PGID column in ps command output.  A PID of -1 is special; it  in-
     dicates all processes except the kill process itself and init.

OPTIONS
     <pid> [...]
            Send signal to every <pid> listed.

     -<signal>
     -s <signal>
     --signal <signal>
            Specify  the signal to be sent.  The signal can be specified by us-
            ing name or number.  The behavior of signals is explained  in  sig-
            nal(7) manual page.

     -q, --queue value
            Use  sigqueue(3) rather than kill(2) and the value argument is used
            to specify an integer to be sent with the signal. If the  receiving
            process  has  installed a handler for this signal using the SA_SIG-
            INFO flag to sigaction(2), then it can obtain  this  data  via  the
            si_value field of the siginfo_t structure.

     -l, --list [signal]
            List  signal  names.  This option has optional argument, which will
            convert signal number to signal name, or other way round.

     -L, --table
            List signal names in a nice table.

     NOTES
            Your shell (command line interpreter) may have a built-in kill com-
            mand.  You may need to run the command described here as  /bin/kill
            to solve the conflict.

     If  you use negative PID values, you will need to specify a signal as well
     so that kill knows if the option is for the PID or the signal number.  For
     example,  issuing the command with the single option -9 it is not clear if
     you mean signal 9 (SIGKILL) or process group 9.

EXAMPLES
     kill -9 -1
            Kill all processes you can kill.

     kill -l 11
            Translate number 11 into a signal name.

     kill -L
            List the available signal choices in a nice table.

     kill 123 543 2341 3453
            Send the default signal, SIGTERM, to all those processes.

     kill -SIGTERM -123
            Send the signal SIGTERM to process group 123. The  signal  name  or
            number  is  required  if  specifying process groups with a negative
            PID.

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

STANDARDS
     This command meets appropriate standards. The -L flag is Linux-specific.

AUTHOR
     Albert Cahalan wrote kill in 1999 to replace a bsdutils one that  was  not
     standards compliant.  The util-linux one might also work correctly.

REPORTING BUGS
     Please send bug reports to [email protected]

procps-ng                          2023-01-16                           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
 -v, --inverse             negates the matching
 -w, --lightweight         list all TID
 -c, --count               count of matching processes
 -f, --full                use full process name 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, --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
 --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

 -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 process name 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, --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
 --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

 -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
 -c, --count               count of matching processes
 -f, --full                use full process name 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, --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
 --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

 -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
 -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
   1001 tty7     Ssl+   7:19 /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
   1005 tty1     Ss+    0:00 /usr/sbin/agetty --noreset --noclear - linux
 620408 pts/0    S      0:00 sudo sh -c stty cols 80; SHELL=/bin/true ps -h
 620410 pts/1    Ss+    0:00 sudo sh -c stty cols 80; SHELL=/bin/true ps -h
 620411 pts/1    S      0:00 sh -c stty cols 80; SHELL=/bin/true ps -h
 620413 pts/1    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
 -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:
 -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:
 -p, --pretty   show uptime in pretty format
 -h, --help     display this help and exit
 -s, --since    system up since
 -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:
 -h, --no-header     do not print header
 -u, --no-current    ignore current process username
 -s, --short         short format
 -t, --terminal      show terminals
 -f, --from          show remote hostname field
 -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
  -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          attempt run command in precise intervals
  -r, --no-rerun         do not rerun program on window resize
  -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-May-25