Ps (Unix): Difference between revisions
No edit summary |
m WP:SOB |
||
(26 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Standard UNIX utility that displays the currently-running processes}} |
|||
⚫ | |||
{{multiple| |
|||
{{manual|date=April 2020}} |
|||
{{refimprove|date=October 2017}} |
{{refimprove|date=October 2017}} |
||
}} |
|||
{{Infobox |
{{Infobox software |
||
| name = ps |
| name = ps |
||
| logo = |
| logo = |
||
| screenshot = |
| screenshot = Ps command screenshot.png |
||
| screenshot size = |
| screenshot size = |
||
| caption = The {{code|ps}} command |
| caption = The {{code|ps}} command |
||
Line 12: | Line 15: | ||
| latest release version = |
| latest release version = |
||
| latest release date = |
| latest release date = |
||
| programming language = [[C (programming language)|C]] |
|||
| operating system = [[Unix]] |
| operating system = [[Unix]], [[Unix-like]], [[Plan 9 from Bell Labs|Plan 9]], [[Inferno (operating system)|Inferno]], [[KolibriOS]], [[IBM i]] |
||
| platform = [[Cross-platform]] |
|||
| genre = [[Command (computing)|Command]] |
| genre = [[Command (computing)|Command]] |
||
| license = |
| license = Plan 9: [[MIT License]] |
||
| website = |
| website = |
||
}} |
}} |
||
In most [[Unix]] and [[Unix-like |
In most [[Unix]] and [[Unix-like operating system]]s, the '''<code>ps</code>''' (''process status'') program displays the currently-running [[process (computing)|processes]]. The related Unix utility <code>[[top (software)|top]]</code> provides a real-time view of the running processes. |
||
==Implementations== |
|||
In [[Windows PowerShell]], <code>ps</code> is a predefined [[Alias (command)|command alias]] for the <code>Get-Process</code> cmdlet, which essentially serves the same purpose. |
|||
[[KolibriOS]] includes an implementation of the {{code|ps}} [[command (computing)|command]].<ref>{{Cite web|url=http://wiki.kolibrios.org/wiki/Shell|title=Shell - KolibriOS wiki}}</ref> The {{Mono|ps}} command has also been ported to the [[IBM i]] operating system.<ref>{{cite web |title=IBM System i Version 7.2 Programming Qshell |language=en |author=IBM |website=[[IBM]] |author-link=IBM |url=https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzahz/rzahzpdf.pdf?view=kc |access-date=2020-09-05 }}</ref> In [[Windows PowerShell]], <code>ps</code> is a predefined [[Alias (command)|command alias]] for the <code>Get-Process</code> cmdlet, which essentially serves the same purpose. |
|||
[[KolibriOS]] includes an implementation of the {{code|ps}} [[command (computing)|command]].<ref>http://wiki.kolibrios.org/wiki/Shell</ref> |
|||
==Examples== |
==Examples== |
||
⚫ | |||
For example: |
|||
⚫ | |||
# ps |
# ps |
||
PID TTY TIME CMD |
PID TTY TIME CMD |
||
Line 31: | Line 34: | ||
7434 pts/0 00:00:00 bash |
7434 pts/0 00:00:00 bash |
||
18585 pts/0 00:00:00 ps |
18585 pts/0 00:00:00 ps |
||
</syntaxhighlight> |
|||
</source> |
|||
Users can [[Pipeline (Unix)|pipeline]] <code>ps</code> with other commands, such as [[Less (Unix)|less]] to view the process status output one page at a time: |
|||
⚫ | |||
< |
<syntaxhighlight lang="console"> |
||
$ ps -A | less |
|||
</syntaxhighlight> |
|||
⚫ | |||
$ # Trying to find the PID of `firefox-bin` which is 2701 |
$ # Trying to find the PID of `firefox-bin` which is 2701 |
||
$ ps -A | grep firefox-bin |
$ ps -A | grep firefox-bin |
||
2701 ? 22:16:04 firefox-bin |
2701 ? 22:16:04 firefox-bin |
||
</syntaxhighlight> |
|||
</source> |
|||
The use of < |
The use of <code>[[pgrep]]</code> simplifies the syntax and avoids potential race conditions: |
||
< |
<syntaxhighlight lang="console"> |
||
$ pgrep -l firefox-bin |
$ pgrep -l firefox-bin |
||
2701 firefox-bin |
2701 firefox-bin |
||
</syntaxhighlight> |
|||
</source> |
|||
To see every process running as root in user format: |
To see every process running as root in user format: |
||
< |
<syntaxhighlight lang="console"> |
||
# ps -U root -u |
# ps -U root -u |
||
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND |
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 -- |
root 1 0.0 0.0 9436 128 - ILs Sun00AM 0:00.12 /sbin/init -- |
||
</syntaxhighlight> |
|||
</source> |
|||
== |
==Header line== |
||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|- |
||
Line 75: | Line 82: | ||
| PID || Process ID number |
| PID || Process ID number |
||
|- |
|- |
||
| PPID || ID number of the |
| PPID || ID number of the process's parent process |
||
|- |
|- |
||
| PRI || Priority of the process |
| PRI || Priority of the process |
||
Line 91: | Line 98: | ||
| TT or TTY || Terminal associated with the process |
| TT or TTY || Terminal associated with the process |
||
|- |
|- |
||
| UID or USER || Username of the |
| UID or USER || Username of the process's owner |
||
|- |
|- |
||
| WCHAN || Memory address of the event the process is waiting for |
| WCHAN || Memory address of the event the process is waiting for |
||
Line 98: | Line 105: | ||
==Options== |
==Options== |
||
< |
<code>ps</code> has many options. On [[operating system]]s that support the [[Single UNIX Specification|SUS]] and [[POSIX]] standards, <code>ps</code> commonly runs with the options '''-ef''', where "-e" selects '''e'''very process and "-f" chooses the "'''f'''ull" output format. Another common option on these systems is '''-l''', which specifies the "'''l'''ong" 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 variable]]s.) On such systems, < |
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 variable]]s.) On such systems, <code>ps</code> commonly runs with the non-standard options '''aux''', where "a" lists all processes on a [[Computer terminal|terminal]], including those of other users, "x" lists all processes without [[controlling terminal]]s 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== |
==See also== |
||
* [[Task manager]] |
* [[Task manager]] |
||
* |
* [[kill (command)]] |
||
* [[List of Unix commands]] |
* [[List of Unix commands]] |
||
* |
* [[nmon]] – a system monitor tool for AIX and Linux operating systems |
||
⚫ | |||
* <code>[[pgrep]]</code> |
|||
⚫ | |||
⚫ | |||
* <code>[[top (Unix)|top]]</code> |
|||
⚫ | |||
==References== |
==References== |
||
{{Reflist}} |
|||
⚫ | |||
==Further reading== |
==Further reading== |
||
*{{Cite book|author-last=McElhearn|author-first=Kirk|title=The Mac OS X Command Line: Unix Under the Hood|date=2006|publisher=[[John Wiley & Sons]]|isbn=978-0470113851}} |
*{{Cite book|author-last=McElhearn|author-first=Kirk|title=The Mac OS X Command Line: Unix Under the Hood|date=2006|publisher=[[John Wiley & Sons]]|isbn=978-0470113851}} |
||
⚫ | |||
==External links== |
==External links== |
||
{{Wikibooks|Guide to Unix|Commands}} |
|||
* {{man|cu|ps|SUS}} |
* {{man|cu|ps|SUS}} |
||
* {{man|1|ps|Plan 9}} |
|||
* {{man|1|ps|Inferno}} |
|||
* [http://www.cyberciti.biz/faq/show-all-running-processes-in-linux/ Show all running processes in Linux using ps command] |
* [http://www.cyberciti.biz/faq/show-all-running-processes-in-linux/ Show all running processes in Linux using ps command] |
||
* [http://kb.iu.edu/data/afnv.html In Unix, what do the output fields of the ps command mean?] |
* [http://kb.iu.edu/data/afnv.html In Unix, what do the output fields of the ps command mean?] |
||
{{Unix commands}} |
{{Unix commands}} |
||
{{Plan 9 commands}} |
|||
⚫ | |||
[[Category:Unix SUS2008 utilities]] |
[[Category:Unix SUS2008 utilities]] |
||
[[Category:Unix process- and task-management-related software]] |
[[Category:Unix process- and task-management-related software]] |
||
[[Category:Plan 9 commands]] |
|||
[[Category:Inferno (operating system) commands]] |
|||
[[Category:IBM i Qshell commands]] |
Latest revision as of 20:16, 15 June 2024
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these 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.
Implementations
[edit]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
[edit]# 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
[edit]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
[edit]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
[edit]- Task manager
- kill (command)
- List of Unix commands
- nmon – a system monitor tool for AIX and Linux operating systems
- pstree (Unix)
- lsof
References
[edit]- ^ "Shell - KolibriOS wiki".
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM. Retrieved 2020-09-05.
Further reading
[edit]- 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
[edit]- The Single UNIX Specification, Version 4 from The Open Group – Shell and 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?