技术教程 · 2020年2月29日 0

如何在Linux上查看正在运行的进程

从用户应用程序到系统服务,在Linux系统上运行的所有内容都是其自己的独立过程。即使您的计算机坐在空白的终端屏幕上,无疑也会在后台运行许多进程。我们可以使用几种Linux工具来识别系统上的所有进程,这就是本指南中要介绍的内容。

知道如何检查正在运行的进程将使您能够验证某项是否正在运行,必要时将其终止并监视其对系统资源(CPU和RAM)的影响。

使用ps命令列出进程

ps命令可以使用-e选项列出在Linux系统上运行的所有进程。

ps -e

使用ps命令列出进程

系统在任何给定时间都运行大量进程是正常的,因此通过将命令传递给更多命令更容易在此列表中进行筛选。例如,一次查看15行:

ps -e | more -15

ps的输出向我们显示了每个正在运行的进程,其各自的进程ID(缩写为PID)和TTY(该进程在其上运行的终端接口)。TTY列中的问号表示该过程未附加到任何终端接口-它仅在后台运行。

您可能需要知道进程的PID才能杀死它,或知道TTY,以便可以通过重新连接到正确的终端窗口来返回打开的进程。

ps的另一个有用选项是-aux选项。

ps -aux

像上一个选项一样,它将列出系统上运行的每个进程。但是,它还会列出每个进程的当前CPU和RAM使用情况,以及产生每个进程的命令。

列出具有更多命令的15个进程

用pgrep查找进程

pgrep对我们来说是将ps和grep结合在一起的一种令人迷惑的方式。我们可以指定要搜索的进程的名称(或名称的一部分),然后pgrep将返回相应的进程ID。

例如,要搜索系统上与SSH相关的任何进程,请输入:

pgrep ssh

Linux pgrep命令

如上面的屏幕截图所示,pgrep找到了一个SSH进程,其PID为1143。为进一步验证,让我们使用ps命令进行检查:

ps -e | grep 1143

用pgrep查找ssh进程

使用顶部查看正在运行的进程

top实用程序当然是一个命令行工具,但是它提供了所有当前正在运行的进程的交互式输出,显示的信息就像您希望在图形界面中看到的那样。入门很容易,只需键入top:

top

Linux最高命令

顶部的输出为我们提供了很多信息,包括系统上的总体CPU和RAM使用情况。但是我们在这里是进程列表,您可以在下面直接找到。

终端窗口根本不够大,无法允许top列出每个正在运行的进程,因此top会尽可能多地显示并根据系统资源使用情况对其进行排序  。换句话说,使用最多CPU和RAM的进程将列在顶部。要求较低的过程将在列表中显示的较低,可能会从终端窗口中切断。

使用 键盘上的箭头键可在进程列表中上下滚动。

关于每个正在运行的进程,列出了很多信息。以下是这些不同列的含义的简要说明:

  • PID:每个任务的进程ID。
  • PR:任务的调度优先级。
  • NI:任务的价值所在。负数表示较高的优先级。
  • VIRT:使用的虚拟内存量。
  • RES:正在使用的驻留内存量。
  • SHR:正在使用的共享内存量。
  • S:任务的状态(R =正在运行,S =正在睡眠)。
  • %CPU:任务正在使用的当前CPU百分比。
  • %MEM :任务正在使用的当前RAM百分比。
  • TIME +:任务的CPU时间。
  • COMMAND:用于产生任务的命令。

如前所述,top是交互式的,因此我们可以使用一些键盘快捷键来完成一些巧妙的事情。我们将在下面介绍一些更方便的方法。

按下  z键以对运行过程进行颜色编码。这使得区分正在运行的任务与睡眠或僵尸进程变得更加容易。

查找正在运行的流程

按下  c键以获取用于每个任务的完整命令。这将显示绝对路径以及所使用的任何选项。

显示完整的过程命令

直接从顶部实用程序按  k键终止正在运行的进程。这省去了退出实用程序并发出单独的kill命令的时间。您只需要输入要结束的进程的PID:

使用top命令终止进程

按  r键更改renice进程的优先级。输入您希望取消的进程的PID:

更改流程优先级

有关更多选项,请按  h  (帮助)键以查看top可以执行的所有其他操作。

使用top实用程序完成后,可以按q退出工具并返回到终端  。

使用htop查看正在运行的进程

htop实用程序是基于顶级构建的,它看起来更加人性化和令人愉悦。唯一的缺点是默认情况下并未将其安装在所有Linux发行版上,因此您可能需要先安装它。它应该在您的操作系统的存储库中,因此这是使用包管理器进行安装的方法:

Debian和Ubuntu:

sudo apt-get install htop

CentOS和Fedora:

dnf install htop

Redhat:

yum install htop

安装后,只需键入htop即可运行该实用程序。

htop

使用htop查看进程

您可以使用鼠标与htop进行交互,并且各种键盘命令在终端窗口的底部列出。它的功能与top大致相同,但界面更简洁,更易于理解。

结论

在本指南中,我们向您展示了几种查看Linux系统上正在运行的进程的方法。您使用哪种方法将取决于当前的情况和您的个人喜好,但是每种方法都有其自身的优势。

使用从本指南中学到的知识,您可以识别系统上正在运行的所有进程,它们对系统资源的影响,并可以根据需要终止或重新确定任务的优先级。

原文:https://www.howtoforge.com/how-to-view-running-processes-on-linux/