This article has multiple issues. Please help
improve it or discuss these issues on the
talk page. (
Learn how and when to remove these template messages)
|
Original author(s) | AT&T Bell Laboratories |
---|---|
Developer(s) | Various open-source and commercial developers |
Initial release | February 1973 |
Written in | C |
Operating system | Unix, Unix-like, Plan 9, Inferno, KolibriOS, IBM i |
Platform | Cross-platform |
Type | Command |
License | Plan 9: MIT License |
In most
Unix and
Unix-like
operating systems, the ps
(process status) program displays the currently-running
processes. The related Unix utility
top
provides a real-time view of the running processes.
KolibriOS includes an implementation of the ps
command.
[1] The ps command has also been ported to the
IBM i operating system.
[2] In
Windows PowerShell, ps
is a predefined
command alias for the Get-Process
cmdlet, which essentially serves the same purpose.
# ps
PID TTY TIME CMD
7431 pts/0 00:00:00 su
7434 pts/0 00:00:00 bash
18585 pts/0 00:00:00 ps
Users can
pipeline ps
with other commands, such as
less to view the process status output one page at a time:
$ ps -A | less
Users can also utilize the ps
command in conjunction with the
grep
command (see the
pgrep
and
pkill
commands) to find information about a single process, such as its id:
$ # Trying to find the PID of `firefox-bin` which is 2701
$ ps -A | grep firefox-bin
2701 ? 22:16:04 firefox-bin
The use of
pgrep
simplifies the syntax and avoids potential race conditions:
$ pgrep -l firefox-bin
2701 firefox-bin
To see every process running as root in user format:
# ps -U root -u
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 1 0.0 0.0 9436 128 - ILs Sun00AM 0:00.12 /sbin/init --
Column Header | Contents |
---|---|
%CPU | How much of the CPU the process is using |
%MEM | How much memory the process is using |
ADDR | Memory address of the process |
C or CP | CPU usage and scheduling information |
COMMAND* | Name of the process, including arguments, if any |
NI | nice value |
F | Flags |
PID | Process ID number |
PPID | ID number of the process's parent process |
PRI | Priority of the process |
RSS | Resident set size |
S or STAT | Process status code |
START or STIME | Time when the process started |
VSZ | Virtual memory usage |
TIME | The amount of CPU time used by the process |
TT or TTY | Terminal associated with the process |
UID or USER | Username of the process's owner |
WCHAN | Memory address of the event the process is waiting for |
* = Often abbreviated
ps
has many options. On
operating systems that support the
SUS and
POSIX standards, ps
commonly runs with the options -ef, where "-e" selects every process and "-f" chooses the "full" output format. Another common option on these systems is -l, which specifies the "long" output format.
Most systems derived from
BSD fail to accept the SUS and POSIX standard options because of historical conflicts. (For example, the "e" or "-e" option will display
environment variables.) On such systems, ps
commonly runs with the non-standard options aux, where "a" lists all processes on a
terminal, including those of other users, "x" lists all processes without
controlling terminals and "u" adds a column for the controlling user for each process. For maximum compatibility, there is no "-" in front of the "aux". "ps auxww" provides complete information about the process, including all parameters.
This article has multiple issues. Please help
improve it or discuss these issues on the
talk page. (
Learn how and when to remove these template messages)
|
Original author(s) | AT&T Bell Laboratories |
---|---|
Developer(s) | Various open-source and commercial developers |
Initial release | February 1973 |
Written in | C |
Operating system | Unix, Unix-like, Plan 9, Inferno, KolibriOS, IBM i |
Platform | Cross-platform |
Type | Command |
License | Plan 9: MIT License |
In most
Unix and
Unix-like
operating systems, the ps
(process status) program displays the currently-running
processes. The related Unix utility
top
provides a real-time view of the running processes.
KolibriOS includes an implementation of the ps
command.
[1] The ps command has also been ported to the
IBM i operating system.
[2] In
Windows PowerShell, ps
is a predefined
command alias for the Get-Process
cmdlet, which essentially serves the same purpose.
# ps
PID TTY TIME CMD
7431 pts/0 00:00:00 su
7434 pts/0 00:00:00 bash
18585 pts/0 00:00:00 ps
Users can
pipeline ps
with other commands, such as
less to view the process status output one page at a time:
$ ps -A | less
Users can also utilize the ps
command in conjunction with the
grep
command (see the
pgrep
and
pkill
commands) to find information about a single process, such as its id:
$ # Trying to find the PID of `firefox-bin` which is 2701
$ ps -A | grep firefox-bin
2701 ? 22:16:04 firefox-bin
The use of
pgrep
simplifies the syntax and avoids potential race conditions:
$ pgrep -l firefox-bin
2701 firefox-bin
To see every process running as root in user format:
# ps -U root -u
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 1 0.0 0.0 9436 128 - ILs Sun00AM 0:00.12 /sbin/init --
Column Header | Contents |
---|---|
%CPU | How much of the CPU the process is using |
%MEM | How much memory the process is using |
ADDR | Memory address of the process |
C or CP | CPU usage and scheduling information |
COMMAND* | Name of the process, including arguments, if any |
NI | nice value |
F | Flags |
PID | Process ID number |
PPID | ID number of the process's parent process |
PRI | Priority of the process |
RSS | Resident set size |
S or STAT | Process status code |
START or STIME | Time when the process started |
VSZ | Virtual memory usage |
TIME | The amount of CPU time used by the process |
TT or TTY | Terminal associated with the process |
UID or USER | Username of the process's owner |
WCHAN | Memory address of the event the process is waiting for |
* = Often abbreviated
ps
has many options. On
operating systems that support the
SUS and
POSIX standards, ps
commonly runs with the options -ef, where "-e" selects every process and "-f" chooses the "full" output format. Another common option on these systems is -l, which specifies the "long" output format.
Most systems derived from
BSD fail to accept the SUS and POSIX standard options because of historical conflicts. (For example, the "e" or "-e" option will display
environment variables.) On such systems, ps
commonly runs with the non-standard options aux, where "a" lists all processes on a
terminal, including those of other users, "x" lists all processes without
controlling terminals and "u" adds a column for the controlling user for each process. For maximum compatibility, there is no "-" in front of the "aux". "ps auxww" provides complete information about the process, including all parameters.