作为系统管理员,您可能需要检查所有消耗计算机资源的进程。
要获取所有正在运行的进程的列表,请使用 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 aux
和 ps -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 pratham
和 root
. 如果我想过滤进程并且只想看看是否 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
, htop
和 btop
.
这是输出 top
命令在我的电脑上运行。 它显示总任务、CPU 和内存使用情况等信息。
这 atop
命令不同于 top
,显然,但它也显示了更多有关进程的信息,如 CPU、RAM 使用情况、I/O 等。

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

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

结论
本文介绍如何查看计算机上运行的进程。 并且有多种查看方法。 但是,最优选的方法是使用 ps
命令。
如果您想要运行进程的交互式视图(按 CPU 使用率或 RAM 使用率等排序),您可以使用像 top 或 htop 这样的系统监视器。