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 bash
18585 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”。

参见

  • 任务管理器
  • kill
  • Unix实用程序列表
  • nmon — AIX和Linux操作系统的系统监视工具。
  • pgrep
  • pstree
  • top
  • lsof

外部链接
*

*

评论 (0)

  • 还没有评论,来抢沙发吧。