This article is written like a manual or guidebook. (April 2020) (Learn how and when to remove this template message)
This article needs additional citations for verification. (October 2017) (Learn how and when to remove this template message)
|Original author(s)||AT&T Bell Laboratories|
|Developer(s)||Various open-source and commercial developers|
|Initial release||February 1973|
|Operating system||Unix, Unix-like, Plan 9, Inferno, KolibriOS, IBM i|
In most Unix and Unix-like operating systems, the
ps program (short for "process status") displays the currently-running processes. A related Unix utility named
top provides a real-time view of the running processes.
KolibriOS includes an implementation of the
ps command. The ps command has also been ported to the IBM i operating system. 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
$ # 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 --
|%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|
|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.
- Task manager
- kill (command)
- List of Unix commands
- nmon — a system monitor tool for the AIX and Linux operating systems.
- pstree (Unix)
- top (Unix)
- McElhearn, Kirk (2006). The Mac OS X Command Line: Unix Under the Hood. John Wiley & Sons. ISBN 978-0470113851.
- Shotts (Jr), William E. (2012). The Linux Command Line: A Complete Introduction. No Starch Press. pp. 96–98. ISBN 9781593273897. Retrieved 16 October 2017.
|The Wikibook Guide to Unix has a page on the topic of: Commands|
- The Single UNIX Specification, Issue 7 from The Open Group – Commands & Utilities Reference,
- Plan 9 Programmer's Manual, Volume 1 –
- Inferno General commands Manual –
- Show all running processes in Linux using ps command
- In Unix, what do the output fields of the ps command mean?