ps (Unix)
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.
|  The  pscommand | |
| 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 | 
Implementations
    
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.
Examples
    
# 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 --
Header line
    
| 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
Options
    
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.
See also
    
- Task manager
- kill (command)
- List of Unix commands
- nmon — a system monitor tool for the AIX and Linux operating systems.
- pgrep
- pstree (Unix)
- top (Unix)
- lsof
References
    
- "Shell - KolibriOS wiki".
- IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM. Retrieved 2020-09-05.
Further reading
    
- 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.
External links
    

- – Shell and Utilities Reference, The Single UNIX Specification, Version 4 from The Open Group
- – 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?

