We can view snapshot information for the current processes through the ps command.

Current Processes Snapshot

Command Options

Here are some common basic options for ps command:

Option Description
-A, -e Output all processes.
-a Output all tty(TeleTYpewriter or terminal).
a Output all tty include other users.
-d Output all processes except the session leaders.
r Output all running processes.
T Output all processes on this terminal.

List Options

Here are some common list options for ps command:

These options accept multiple arguments, for example: ps -C “cmd1 cmd2” or ps -C cmd1, cmd2.

Option Description
-C cmdlist Output the process through the command name.
-G grplist or ‑‑Group grplist Output the process by a real group ID or name.
-g grplist or ‑‑group grplist Output the process by a valid group ID or name.
p pidlist or -p pidlist or ‑‑pid pidlist Output the process by the process’s ID.
‑‑ppid pidlist Output the process by the process’s parent ID.
q pidlist or -q pidlist or ‑‑quick-pid pidlist Output the process by the process’s ID in quick mode.
-s sesslist or ‑‑sid sesslist Output the process by the process’s session ID.
t ttylist or -t ttylist or ‑‑tty ttylist Output the process by the a terminal.
U userlist or -u userlist or ‑‑user userlist Output the process by a valid user ID or name.
-U userlist or ‑‑User userlist Output the process by a real user ID or name.

Output Format

Here are some common output format options for ps command:

Option Description
-c Output different scheduling information for the-l option.
‑‑context Output security context format for SELinux.
-f Output full format list.
-F Output an extra full format list.
‑‑format format or -o format or o format Output user-specified format.
j Output BSD job control format.
-j Output jobs format.
l Output BSD long format.
-l Output long format, usually used with -y option.
-M or Z Add a column of security data to the output for SELinux.
O format Preloaded o.
-O format Identical to -o pid,format,state,tname,time,command or -o pid,format,tname,time,cmd.
s Output signal format.
u Output user-oriented format.
v Output virtual memory format.
X Output register format.
-y Output without flags, show rss in place of addr, can only be used with -l.

Output Modifiers

Here are some common output modifiers for ps command:

Option Description
c Output the true command name.
e Output the environment after the command.
f Output the process hierarchy in ASCII tree format.
–forest or -H Output the current terminal’s process hierarchy in ASCII tree format.
h or ‑‑no-header or ‑‑no-headers Output without header.
‑‑header or ‑‑headers Output with header, one per page.
S Output some up information.
w or -w Widen the output length.

Output Threads

Here are some common thread display options for ps command:

Option Description
H Output threads as processes.
-L Output threads through the LWP and NLWP columns.
m or -m Output threads after processes.
-T Output threads through the SPID column.

Standard Format Specifiers

Here are some common standard format specifiers of command options:

Format Specifier Description
%CPU The percentage of CPU usage that the process occupies.
%MEM The percentage of physical memory size that the process uses.
COMMAND The command used to run the process.
START The time when the process began to run.
TIME The time the process has been running.
STAT The status code of the process.
PID The number represented as the process id.
RSS Non swapped physical memory consumed by the process. (Kilobyte)

Process State Codes

Here are some process state codes of STAT or S specifiers:

Process Code Description
D The I/O processes in uninterruptible sleep.
I Threads that are idle in the kernel.
R Running or runnable processes in a run queue.
S The I/O processes in interruptible sleep.
T Processes that are stopped through job control signal.
t Processes that are stopped through debugger during tracing.
X Dead processes that should no longer be seen.
Z Dead processes that weren’t captured by the parent process.

Here are some BSD format process state codes of STAT specifiers:

Process Code Description
< Processes with high priority.
N Processes with low priority.
L Real-time and custom IO processes that have pages locked into memory.
s Processes that are session leader processes.
l Multi-threaded processes.
+ Processes in the foreground process group.

AIX Format Descriptors

Here are some common descriptors for ps command:

They are used with the output format options, for example ps o %C or ps -o %C or ps ‑‑format %C.

Descriptor Header
%C %CPU
%G GROUP
%P PPID
%U USER
%a COMMAND
%c COMMAND
%g RGROUP
%n NI
%p PID
%r PGID
%t ELAPSED
%u RUSER
%x TIME
%y TTY
%z VSZ

Other Information

Here are some other options for ps command:

Option Description
‑‑help s Output all basic options.
‑‑help l Output all list options.
‑‑help o Output all output modifiers.
‑‑help t Output all threads options.
‑‑help m Output all miscellaneous options.
L Output all format specifiers.

Common Parameter Combinations

Use Standard Syntax to View All Processes

1
ps -ely | head -10    # Output the first ten lines
img

Use the BSD Syntax to View All Processes

1
ps axu | head -10
img

View All Processes in a Tree Format

1
ps -ejH | head -10
img

View Threads for All Processes

1
ps -eLf | head -10
img

View Security Information for All Processes

1
ps axZ | head -10
img

References PS(1)

Buy me a coffeeBuy me a coffee