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

在 Windows 操作系统中,查看服务器上正在运行的进程就像按下 ctrl+shift+esc 一样简单;但在 Linux 上则稍微复杂一些,因为 Linux 默认没有图形界面,通常通过终端进行操作。请阅读下文,了解如何在 Linux 上监控正在运行的进程。

什么是 Linux 进程

无论是 Linux 还是 Windows,操作系统中的任何进程都是服务器正在处理的一项任务。您打开的每一种应用程序,包括文件资源管理器、浏览器、计算器或记事本,都是一个持续运行的进程,直到您将其关闭、任务完成、进程结束为止。许多程序可以同时打开多个进程,包括各种浏览器,甚至音频驱动服务。

进程可以作为后台进程启动,例如在后台运行的 VPN;也可以作为前台进程运行,比如您当前正在使用的应用程序。

Linux 以其一致性著称,因此每个进程都有自己的进程标识号(PID)。

了解当前是什么导致服务器过载,以及如何终止进程或降低其优先级,是保障服务器稳定性的重要一步。

如何在 Linux 中列出所有进程

可以使用以下三个命令:

ps

为您提供服务器进程的静态快照。

top

为您提供实时的系统状态摘要,包括内存、CPU 百分比、SWAP 内存、进程运行时间等。

htop

为您提供所有系统进程的更详细摘要。您可以使用鼠标选择特定进程,这是前两个命令无法做到的。

了解 ps 命令

ps 命令类似于 Windows 任务管理器,只不过它是静态的,也就是说数据不会随时间变化,因为它只是一个快照。虽然不同 UNIX 操作系统的输出内容可能有所不同,但通常会显示 PID、终端名称、运行时间以及启动该进程的命令。如果您像下面这样使用 aux 参数:

ps aux

您将看到所有正在运行的进程,包括服务器上各用户正在使用的进程。添加其他参数可以获取不同的数据。

ps -A

显示系统上运行的所有进程(与 ps -e 相同)。

ps u

使用面向用户的格式,显示 CPU 负载百分比、内存占用、进程所有者以及启动该进程的命令。

ps x

显示不是从终端执行的进程,例如守护进程以及系统启动时默认运行的各种系统进程。

了解 top 命令

这个命令与 Windows 提供的功能非常接近。如果您想找出过度消耗服务器资源的进程,它正是您需要的工具。资源占用最高的进程总是排在最上方。

与 ps 不同,它的数据不是静态的,而是动态的,会实时更新。下面是一份简短的快捷键速查表供您使用。注意,快捷键区分大小写!

  • k - 终止进程
  • M - 按内存使用量排序列表。
  • N - 按 PID 排序列表。
  • r - 更改进程的优先级。
  • h - 显示帮助窗口。
  • z - 以彩色显示正在运行的进程。
  • d - 更改刷新时间间隔。
  • c - 显示进程的绝对路径。
  • q - 退出 top 命令。

了解 htop 命令

htop 是 top 命令的增强版,支持使用鼠标,在某些情况下这是完成服务器日常管理工作更快捷的方式,包括滚动、点击等操作。此外,它还支持颜色标识,有助于突出显示某些有用信息,让您快速理解输出内容。如果您的服务器上没有安装 htop,可以输入以下命令快速安装:

sudo apt install htop

通常您需要输入要终止的进程,而 htop 只需点击相应的进程即可完成操作。

下面是另一份快捷键速查表。

  • F1 - 显示帮助菜单。
  • F2 - 打开 htop 设置。
  • F3 - 搜索进程。
  • F4 - 按名称筛选进程。
  • F5 - 以树状视图显示进程。
  • F6 - 按任意列对进程排序。
  • F7 - 降低进程的优先级。
  • F8 - 提高进程的优先级。
  • F9 - 终止进程。

总结

正如您所见,它并不比使用 Windows 任务管理器复杂多少,只是外观不同、方法略有差异。可以说,使用一段时间之后,您甚至会觉得 Windows 用起来不如 Linux 顺手。希望本文对您有所帮助!



blog