Ps (Unix)

在大多数类Unix操作系统中，ps程序（“process status”的简称）可以显示当前运行的进程。一个相关的Unix工具top则可以查看运行进程的实时信息。
在Windows PowerShell中，ps是Get-Process cmdlet的预定义命令别名，它和Unix中的ps本质上是相同的。

示例

输出示例：
# ps
  PID TTY          TIME CMD
 7431 pts/0    00:00:00 su
 7434 pts/0    00:00:00 bash18585 pts/0    00:00:00 ps
用户还可以利用ps命令和grep结合（参见pgrep和pkill命令）来查找一个进程的信息，例如它的进程ID：

$ # 查找`firefox-bin`的PID为2701
$ ps -A | grep firefox-bin
2701 ?        22:16:04 firefox-bin
或直接使用pgrep：

$ pgrep -l firefox-bin
2701 firefox-bin
查看以root用户运行的进程：
# 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 --

选项

ps有很多选项。在支持SUS和POSIX标准的操作系统上，ps常以选项-ef运行，其中“-e”选择每一个（every）进程，“-f”指定“完整”（full）输出格式。这些系统上的另一个常见选项是-l，它指定“长”（long）输出格式。
由于历史原因，大多数源自BSD的系统无法接受SUS和POSIX的标准选项（例如，“e”或“-e”选项将显示环境变量）。在这样的系统中，ps常使用辅助非标准选项aux，其中“a”列出了一个终端上的所有进程，包括其他用户运行的，“x”列出所有没有控制终端的进程，“u”添加了一列显示每个进程的控制用户。需要注意的是，为了最大的兼容性，使用此语法时“aux”前没有“-”。此外，在aux之后添加“ww”可以显示进程的完整信息，包括所有的参数，例如“ps auxww”。