Linux中的Ps命令(列表进程)

在Linux中,程序的运行实例称为进程。 有时,在Linux机器上工作时,您可能需要找出当前正在运行的进程。

您可以使用许多命令来查找有关正在运行的进程的信息,其中包括 pspstreetop 是最常用的

本文介绍了如何使用 ps 命令以列出当前正在运行的进程并显示有关这些进程的信息。

如何使用 ps 命令#

的一般语法 ps 命令如下:

ps [OPTIONS]

由于历史和兼容性原因, ps 该命令接受几种不同类型的选项:

  • UNIX样式选项,后跟一个破折号。
  • BSD样式选项,不带破折号。
  • GNU长选项,后跟两个破折号。

可以混合使用不同的选项类型,但是在某些特定情况下,可能会出现冲突,因此最好坚持使用一种选项类型。

BSD和UNIX选项可以分组。

以最简单的形式,当不使用任何选项时, ps 将打印四列信息,以显示当前外壳程序中运行的至少两个进程,外壳程序本身以及调用命令时在外壳程序中运行的进程。

ps

输出包括有关外壳的信息(bash)以及在此shell中运行的进程(ps,即您输入的命令):

  PID TTY          TIME CMD
 1809 pts/0    00:00:00 bash
 2043 pts/0    00:00:00 ps

四列被标记为 PIDTTYTIMECMD

  • PID -进程ID。 通常,在运行 ps 命令,用户正在寻找的最重要的信息是过程PID。 了解PID可以使您终止故障过程。
  • TTY -该过程的控制终端的名称。
  • TIME -进程的累积CPU时间,以分钟和秒为单位。
  • CMD -用于启动进程的命令的名称。

上面的输出不是很有用,因为它包含的信息不多。 的真正力量 ps 使用其他选项启动时,命令会出现。

ps 该命令接受大量选项,这些选项可用于显示特定的一组进程以及有关该进程的不同信息,但是在日常使用中只需要少数几个选项。

ps 最常与以下选项组合使用:

BSD表格

ps aux
  • a 选项告诉 ps 显示所有用户的进程。 仅不显示与终端不相关的过程和组长的过程。
  • u 代表一种面向用户的格式,该格式提供有关过程的详细信息。
  • x 选项指令 ps 在没有控制终端的情况下列出进程。 这些主要是在启动时启动并在后台运行的进程。

该命令在标有十一列的信息中显示信息 USERPID%CPU%MEMVSZRSSSTATSTARTTTYTIMECMD

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.8  77616  8604 ?        Ss   19:47   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    19:47   0:00 [kthreadd]
...

我们已经解释了 PIDTTYTIMECMD 标签。 这是其他标签的说明:

  • USER -运行过程的用户。
  • %CPU -进程的cpu利用率。
  • %MEM -进程的驻留集大小占计算机上物理内存的百分比。
  • VSZ -KiB中进程的虚拟内存大小。
  • RSS -进程正在使用的物理内存的大小。
  • STAT -进程状态代码,例如 Z (僵尸), S (睡觉),和 R (正在运行)。
  • START -命令开始的时间。

f 选项告诉 ps 显示父子进程的树视图:

ps auxf

ps 命令还允许您对输出进行排序。 例如,要根据内存使用情况对输出进行排序,可以使用:

ps aux --sort=-%mem

UNIX形式

ps -ef
  • -e 选项指令 ps 显示所有进程。
  • -f 代表完整格式的清单,其中提供了有关流程的详细信息。

该命令在标记为八列的信息中显示信息 UIDPIDPPIDCSTIMETIMECMD

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 19:47 ?        00:00:01 /sbin/init
root         2     0  0 19:47 ?        00:00:00 [kthreadd]
...

未解释的标签具有以下含义:

  • UID – 与…一样 USER,即运行该过程的用户。
  • PPID -父进程的ID。
  • C – 与…一样 %CPU,进程CPU利用率。
  • STIME – 与…一样 START,即命令启动的时间。

要仅查看以特定用户身份运行的进程,请键入以下命令,其中 linuxize 是用户名:

ps -f -U linuxize -u linuxize

用户定义格式

o 选项可让您指定在运行时显示哪些列 ps 命令。

例如,仅打印有关 PIDCOMMAND,您将运行以下命令之一:

ps -efo pid,comm
ps auxo pid,comm

使用 ps 使用其他命令

ps 可以通过管道与其他命令结合使用。

如果要显示的输出 ps 命令,一次一页地将其传送到 less 命令:

ps -ef | less

输出 ps 命令可以用 grep 。 例如,要仅显示属于root用户的进程,请运行:

ps -ef | grep root

结论#

ps 对Linux系统上的问题进行故障排除时,command是最常用的命令之一。 它有很多选项,但是通常,大多数用户都使用 ps aux 要么 ps -ef 收集有关正在运行的进程的信息。

有关更多信息 ps,类型 man ps 在您的终端中。

如果您有任何疑问或反馈,请随时发表评论。

ps端子

Sidebar