如何列出 Linux 中正在运行的进程并对其进行管理

已发表: 2022-04-04

列出进程 Linux - 开发人员每天使用各种应用程序并在终端中运行命令。
在您的 Linux 系统上,您使用的每个应用程序或您执行的每个命令都会产生一个进程或任务。 为了保证最佳系统性能,您需要以系统管理员的身份控制进程。

多任务处理是 Linux 操作系统以及现代计算机最吸引人的特性之一。 因此,许多程序可以同时运行。

目录

Linux 中的进程是什么?

当您在 Linux 中执行命令或打开应用程序时,它会启动一个进程。 另一方面,应用程序为各种任务生成和执行多个进程,而命令只创建一个。

例如,当您启动 Visual Studio Code 编辑器时,您启动的进程只会在您退出或终止 Visual Studio Code 应用程序时停止(或终止)。

同样,当您在终端中运行命令(例如 curl ifconfig.me)时,它会启动一个进程,该进程仅在命令完成或终止时才会终止。

默认情况下,每个新进程都作为前台进程启动。 这意味着它必须在新过程开始之前完成。 在后台运行的进程允许您同时处理其他事情。

列出 Linux 中正在运行的进程

使用以下三个命令之一列出 Linux 中的进程:

  • ps 显示所有进程的列表; 它也可以与选项一起使用以获得更详细的输出。
  • top 显示当前活动进程的实时列表,并允许您通过终止、停止、更改优先级等方式与它们进行交互。
  • htop 用户友好输出的即时结果,有机会参与流程

使用ps作为命令

ps 命令(进程状态)创建所有当前活动进程的快照。 因此,与 Windows 任务管理器不同,结果是可预测的。

ps 命令的语法如下:

ps [options]

以下是一些最常用的 ps 命令选项:

  • a:列出对所有用户造成问题的所有进程。
  • -A,-e:显示系统上所有进程的列表。
  • -a:列出所有进程,不包括会话领导者(进程ID与会话* ID相同的进程)和与终端无关的进程。
  • -d:除会话负责人外,列出所有进程。
  • --deselect, -N:从列表中删除任何不满足用户定义条件的进程。
  • f:使用 ASCII 艺术来显示进程层次结构。
  • -j:以作业格式显示输出。
  • T:列出所有连接到该终端的进程。
  • r:仅列出当前处于活动状态的进程。
  • u:增加输出的大小以包含更多信息,例如 CPU 和内存使用情况。
  • -u:定义要为其列出进程的用户。
  • x:包括没有 TTY 的进程。

不带任何选项运行ps命令会产生类似于

默认输出中包含以下类别:

  • PID : 进程标识号
  • TTY :进程正在运行的终端。
  • TIME :在计算机上花费的总时间(CPU 使用总量)。
  • CMD :启动进程的命令的名称

一起使用 a、u 和 x 选项会产生更详细的输出

ps aux

扩展输出现在包括以下新类别:

  • USER:这是执行进程的人的名字。
  • %CPU: CPU 正在使用的时间比例。
  • %MEM:使用的内存比例。
  • VSZ:进程的总虚拟内存使用量,以千字节为单位。
  • RSS: “代表 Resident Set Size”,指的是一个进程使用的 RAM 量。
  • STAT:进程的当前状态。
  • START:进程开始的时间。

以分层顺序显示当前正在执行的进程。

ps -axjf

在 Linux 中使用top命令,可以获取当前正在运行的进程列表

top 命令以 CPU 消耗降序提供当前活动进程的列表。 这意味着使用最多资源的进程位于列表顶部:

top

在默认的三秒刷新率下,top 命令的输出实时刷新。 以下类别出现在 top 命令的输出中:

  • PID(进程标识号):这是一个标识一个
  • USER:这是执行进程的人的名字。
  • PR:进程的调度优先级。
  • NI:过程的不错的价值,较低的价值意味着较高的重要性。
  • VIRT:进程使用的虚拟内存量。
  • RES:进程使用的常驻(物理)内存量。
  • SHR:进程的共享内存使用总量。
  • R(运行)或S(睡眠):进程的状态
  • %CPU: CPU 正在使用的时间百分比。
  • %MEM:内存使用百分比
  • TIME+:使用的 CPU 时间总量。
  • COMMAND:启动程序的命令。

使用以下选项与 top 命令交互或在运行时修改输出格式:

top [option]

  • c:显示整个过程路径。
  • d:将输出刷新率设置为自定义值(以秒为单位)。
  • h:调出帮助菜单。
  • k:提供杀死进程的PID。
  • M:按使用的内存量对列表进行排序。
  • N:根据PID对列表进行排序。
  • r:提供PID来改变进程的nice值(优先级)。
  • z:通过更改输出颜色突出显示正在运行的进程。
  • q:退出命令提示符。

在 Linux 中使用htop命令,您可能会看到当前正在运行的进程。

htop 命令产生与 top 命令相同的结果,但以更用户友好和易于理解的方式。

由于大多数 Linux 发行版中不包含此命令,因此您需要自己安装它:

sudo apt install htop

使用

htop

命令提供以下输出:

列出进程 Linux

要与 htop 命令交互,请按以下键:

使用方向键垂直和水平滚动进程列表。

  • F1:显示帮助菜单。
  • F2:打开 htop 命令设置
  • F3:键入进程的名称以查找它。
  • F4:按名称对进程列表进行排序。
  • F5:选择流程层次结构是显示为排序列表还是树。
  • F6:按列排序进程
  • F7:降低进程的 nice 值(提高其优先级)。
  • F8:降低进程的 nice 值(降低其优先级)。
  • F9:终止当前选择的进程。
  • F10:关闭命令提示符。

结论

了解如何列出 Linux 操作系统中所有正在运行的进程至关重要。 当您需要管理流程时,这种专业知识会派上用场。
要自定义输出和命令行为,请使用可用的命令选项。