每天,开发人员都会在终端中使用各种应用程序并运行命令。这些应用程序可能包括浏览器、代码编辑器、终端、视频会议应用程序或音乐播放器。
对于你打开的每个软件应用程序或你运行的命令,它都会创建一个进程或任务。
Linux 操作系统和现代计算机的一大优点是它们支持多任务处理,所以多个程序可以同时运行。
你有没有想过如何检查机器上运行的所有程序?这篇文章就是为你准备的,我将向你展示如何列出、管理和终止 Linux 电脑上所有正在运行的进程。
进程是你可以在软件应用程序或命令中找到的正在运行的计算机程序的实例。
例如,如果你打开 Visual Studio Code 编辑器,则会创建一个进程,该进程只会在你终止或关闭 Visual Studio Code 应用程序后停止(或终止)。
同样,当你在终端中运行命令(如 curl ifconfig.me)时,它会创建一个仅在命令完成执行或终止时才会停止的进程。
你可以使用 ps
命令列出正在运行的进程(ps
表示进程状态)。ps
命令实时显示你当前正在运行的进程。
要对此进行测试,只需打开终端并运行 ps
命令,如下所示:
这将用四列显示当前 shell 的进程:
你可以选择使用任意选项组合(例如 -A
-a
、-C
、-c
、-d
、-E
、-e
、-u
、-X
、-x
等)来选择显示特定的一组进程。
如果你指定多个这些选项,则将显示至少与给定选项之一匹配的所有进程。
ps
命令手册
在你的终端中键入man ps
以阅读ps
命令的手册,其中包含所有选项及其用法的完整介绍。
要显示你机器上所有用户的所有正在运行的进程,包括他们的用户名,并显示未连接到终端的进程,你可以使用以下命令:
ps aux
这是命令的详细介绍:
ps
:是进程状态命令a
:显示有关其他用户的进程以及你自己的进程的信息u
:显示属于指定用户名的进程x
:包括没有控制终端的进程这将用 11 列显示当前 shell 的进程:
top
和 htop
命令列出 Linux 中正在运行的进程你还可以在 Linux 中使用 top
任务管理器命令查看使用最多内存或 CPU 的进程的实时排序列表。
在你的终端中输入 top
,你将得到如下图所示的结果:
你可以输入
q
来退出会话。
top
的一个替代方案是 htop
,它提供了一个交互式系统监视器来查看和管理进程。
它还根据 CPU 使用情况显示实时排序的进程列表,你可以轻松搜索、过滤和终止正在运行的进程。
默认情况下,Linux 上未安装 htop
,因此你需要使用以下命令安装它或下载首选 Linux 发行版的二进制文件。
sudo apt update && sudo apt install htop
只需在你的终端中输入 htop
,你就会得到如下图所示的结果:
终止进程意味着终止正在运行的应用程序或命令。你可以通过运行带有进程 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 进程以及如何使用 ps
、top
和 htop
命令来管理它们。
确保通过分别运行 man ps
、man top
或 man htop
来查看每个命令的手册。该手册包含全面的参考资料,当你需要帮助的时候,你可以随时查看。
感谢阅读——加油!