每天,开发人员都会在终端中使用各种应用程序并运行命令。这些应用程序可能包括浏览器、代码编辑器、终端、视频会议应用程序或音乐播放器。

对于你打开的每个软件应用程序或你运行的命令,它都会创建一个进程或任务。

Linux 操作系统和现代计算机的一大优点是它们支持多任务处理,所以多个程序可以同时运行。

你有没有想过如何检查机器上运行的所有程序?这篇文章就是为你准备的,我将向你展示如何列出、管理和终止 Linux 电脑上所有正在运行的进程。

准备

  • 安装了 Linux 发行版
  • 在命令行中导航的基本知识
  • 你的脸上带着微笑:)

Linux 进程快速介绍

进程是你可以在软件应用程序或命令中找到的正在运行的计算机程序的实例。

例如,如果你打开 Visual Studio Code 编辑器,则会创建一个进程,该进程只会在你终止或关闭 Visual Studio Code 应用程序后停止(或终止)。

同样,当你在终端中运行命令(如 curl ifconfig.me)时,它会创建一个仅在命令完成执行或终止时才会停止的进程。

如何使用 ps 命令列出 Linux 中正在运行的进程

你可以使用 ps 命令列出正在运行的进程(ps 表示进程状态)。ps命令实时显示你当前正在运行的进程。

要对此进行测试,只需打开终端并运行 ps 命令,如下所示:

Screenshot-2021-06-28-at-3.25.33-PM

这将用四列显示当前 shell 的进程:

  • PID 返回唯一的进程 ID
  • TTY 返回你登录的终端类型
  • TIME 返回 CPU 使用总量
  • CMD 返回启动进程的命令的名称

你可以选择使用任意选项组合(例如 -A -a-C-c-d-E-e-u-X-x 等)来选择显示特定的一组进程。

如果你指定多个这些选项,则将显示至少与给定选项之一匹配的所有进程。

image-9
ps 命令手册
在你的终端中键入 man ps 以阅读 ps 命令的手册,其中包含所有选项及其用法的完整介绍。

要显示你机器上所有用户的所有正在运行的进程,包括他们的用户名,并显示未连接到终端的进程,你可以使用以下命令:

ps aux

这是命令的详细介绍:

  • ps:是进程状态命令
  • a:显示有关其他用户的进程以及你自己的进程的信息
  • u:显示属于指定用户名的进程
  • x:包括没有控制终端的进程
Screenshot-2021-06-28-at-4.39.05-PM

这将用 11 列显示当前 shell 的进程:

  • USER 返回运行该进程的用户的用户名
  • PID 返回唯一的进程 ID
  • %CPU 返回 CPU 使用率的百分比
  • %MEM 返回内存使用百分比
  • VSV 以千字节为单位返回虚拟大小
  • RSS 返回常驻集大小
  • TT 返回控制终端名称
  • STAT 返回符号进程状态
  • STARTED 返回开始的时间
  • CMD 返回启动进程的命令

如何使用 tophtop 命令列出 Linux 中正在运行的进程

你还可以在 Linux 中使用 top 任务管理器命令查看使用最多内存或 CPU 的进程的实时排序列表。

在你的终端中输入 top ,你将得到如下图所示的结果:

Screenshot-2021-06-28-at-4.27.28-PM
你可以输入 q 来退出会话。

top 的一个替代方案是 htop,它提供了一个交互式系统监视器来查看和管理进程。

它还根据 CPU 使用情况显示实时排序的进程列表,你可以轻松搜索、过滤和终止正在运行的进程。

默认情况下,Linux 上未安装 htop,因此你需要使用以下命令安装它或下载首选 Linux 发行版的二进制文件。

sudo apt update && sudo apt install htop

只需在你的终端中输入 htop ,你就会得到如下图所示的结果:

Screenshot-2021-06-29-at-4.49.09-AM

如何在 Linux 中终止正在运行的进程

终止进程意味着终止正在运行的应用程序或命令。你可以通过运行带有进程 ID 的 kill 命令或带有进程名称的 pkill 命令来终止进程,如下所示:

kill [PID]

或者:

pkill [COMMAND]

要查找正在运行的进程的进程 ID,你可以使用 pgrep 命令后跟进程的名称,如下所示:

pgrep iTerm2

要在上面的屏幕截图中终止 iTerm2 进程,我们将使用以下命令。这将自动终止并关闭 iTerm2 进程(应用程序)。

kill 25781

或者:

kill iTerm2

总结

当你列出正在运行的进程时,它通常是一个很长的集群列表。你可以通过 less 管道将命令输出显示在终端中,一次一页,如下所示:

ps aux | less

或仅显示与特定名称匹配的特定进程,如下所示:

ps aux | grep Chrome

我希望你现在了解什么是 Linux 进程以及如何使用 pstophtop 命令来管理它们。

确保通过分别运行 man psman topman htop 来查看每个命令的手册。该手册包含全面的参考资料,当你需要帮助的时候,你可以随时查看。

感谢阅读——加油! 💙

原文:Linux List Processes – How to Check Running Processes,作者:Bolaji Ayodeji