在 Linux 中查看正在运行的进程

作为系统管理员,您可能需要检查所有消耗计算机资源的进程。

要获取所有正在运行的进程的列表,请使用 ps 命令运行 aux 以下列方式的参数标志:

ps aux

这会给你一个列表 全部 系统上所有用户运行的进程。 您可以使用 grep 使用模式过滤进程。

让我们看看详细使用它。 我还将分享其他命令以显示 Linux 中正在运行的进程。

ps命令

ps 命令是大多数系统管理员在类 UNIX 操作系统中使用的标准命令。

有几个选项可以与 ps 命令,但是当你想要一个列表时使用的选项集 所有过程aux.

因此,运行以下命令将显示我系统上的所有进程:

ps -A

或者,您可以使用 BSD 风格的语法,它在 GNU 中仍然可用 ps

ps aux

让我们分解一下…

  • a :显示有关其他用户的进程以及用户自己的进程的信息(如果进程连接到终端,即守护进程被排除在外)
  • u :以用户可读的格式显示
  • x :包括未连接到终端的进程,即包括守护进程

这将为您提供一个非常长的运行进程列表,这些进程在执行时正在运行 ps 命令。

包括我在内的大多数人都通过管道将此输出输入 grep 大海捞针。

$ ps aux | grep alacritty
pratham    4653  0.1  0.0 596776 63856 ?        RNsl Mar09   3:43 alacritty
pratham    4974  0.0  0.0 592792 58892 ?        SNsl Mar09   0:18 alacritty
pratham    6287  0.0  0.0 590204 56308 ?        SNsl Mar09   0:14 alacritty
pratham    8241  0.0  0.0 585504 51956 ?        SNsl Mar09   0:07 alacritty
pratham  514536  0.0  0.0  18808  2572 pts/1    SN+  13:56   0:00 /usr/bin/grep --color=auto alacritty

注意如何 grep 命令也包含在输出中。 这是因为它在进程名称中也有“alacritty”(作为参数)。

警惕这种行为 [that grep will be included in the output] 如果你在脚本中使用它。

?使用之间的唯一区别 ps auxps -A 是当你使用 ps aux,您可以轻松地 grep 用户,或者使用 -u 选项。 什么对你有用。

让我们看看其他一些 Linux 命令来查看正在运行的进程。

pgrep 命令

pgrep 命令接受要匹配的模式,如果有任何进程与提供的模式匹配,进程 ID (PID) 将返回到标准输出。

以下是用于的语法 pgrep 命令:

pgrep <pattern>

比方说,对于 example,我想查看任何名为“alacritty”的进程的 PID。 我会为此使用以下命令:

$ pgrep alacritty
4653
4974
6287
8241

当我运行该命令时,我得到了四个 PID,表明四个进程与模式“alacritty”匹配,并且它们的 PID 被输出到标准输出。

您还可以使用 -u 标志(相对于 u) 随着 ps 命令指定特定用户并筛选出结果,使其更易于管理。

我的电脑上可能有多个用户在使用 Vim,user prathamroot. 如果我想过滤进程并且只想看看是否 pratham 是否有一个活跃的 Vim 进程,这是我如何找到它的。

$ ps -u pratham | grep vim
 516525 pts/2    SNl+   0:00 nvim

pstree 命令

pstree 命令,顾名思义,显示了父进程和子进程的层次视图。

运行时, pstree 将显示一个自上而下的树状结构输出过程,如上图所示。

还可以注意到PID 1是systemd,说明我的Linux系统使用的是systemd。

由于没有太多关于 PID、用户、开始时间、CPU 使用率等的信息,因此它并不是一个“首选”命令。 但它仍然有助于了解哪个子进程属于哪个父进程。

使用系统监视器

任何类 UNIX 系统都会有一个工具,您可以使用它来监视 CPU、RAM、网络等物理资源的使用情况。

人们喜欢并广泛使用的一些工具是 top, atop, htopbtop.

这是输出 top 命令在我的电脑上运行。 它显示总任务、CPU 和内存使用情况等信息。

atop 命令不同于 top,显然,但它也显示了更多有关进程的信息,如 CPU、RAM 使用情况、I/O 等。

atop命令运行图片

htop 实用程序是一种广泛使用的资源监控实用程序,用于获取每个内核 CPU 使用率、RAM 和交换空间的实时条形图。

htop命令运行图片

最后, btop 是系统资源使用监控实用程序的最新成员之一。 最好的一点是我们可以获得 CPU 使用率的历史记录。

btop命令运行图片

结论

本文介绍如何查看计算机上运行的进程。 并且有多种查看方法。 但是,最优选的方法是使用 ps 命令。

如果您想要运行进程的交互式视图(按 CPU 使用率或 RAM 使用率等排序),您可以使用像 top 或 htop 这样的系统监视器。