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