查看Linux正在运行的进程并进行管理的命令介绍

不少使用VPS云主机的小伙伴,估计都会使用Linux系统,用Windows的系统的小伙伴毕竟是少数。但是使用Linux的系统经常会遇到一些问题或者要检测的时候,需要了解目前Linux系统正在运行的进程是什么,毕竟在你的Linux系统中,你使用的每个应用程序或执行的命令都会产生一个进程或任务。为了保证最佳的系统性能,你需要作为一个系统管理员控制进程。如何查看正在运行的进程呢?这里就分享一下常见的管理命令。

什么是Linux进程?

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

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

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

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

列出Linux中正在运行进程命令

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

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

PS命令的使用 

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

ps 命令的语法如下:

ps [options]

[options]主要指的是一些可选项,以下是一些最常用的 ps 命令选项:

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

仅运行PS不带任何选项的命令如下

查看Linux正在运行的进程并进行管理的命令介绍插图

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

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

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

ps aux

查看Linux正在运行的进程并进行管理的命令介绍插图1

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

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

以分层列表的方式显示当前运行的进程

ps -axjf

查看Linux正在运行的进程并进行管理的命令介绍插图2

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

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

top

查看Linux正在运行的进程并进行管理的命令介绍插图3

在默认的三秒刷新率下,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正在运行的进程并进行管理的命令介绍插图4

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

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

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

最后总结

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容