Linux kill 命令实战示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 Linux 的 kill 命令来终止进程并向正在运行的进程发送信号。实验内容涵盖了 kill 命令的用途、如何使用该命令终止进程,并深入探讨了 kill 命令的高级选项。你将启动长时间运行的进程,然后使用 kill 命令终止它们,同时了解可以向进程发送的不同信号。本实验提供了实用的示例,帮助你深入理解 kill 命令,这是 Linux 中进程管理的重要工具。

Linux 命令速查表

理解 kill 命令的用途

在这一步中,你将学习 Linux 中 kill 命令的用途。kill 命令用于终止或向正在运行的进程发送信号。

kill 命令允许你:

  • 通过向进程发送信号来终止它
  • 向进程发送各种信号,例如 SIGTERM(默认)、SIGINTSIGKILL
  • 通过进程 ID(PID)或进程名称终止进程

让我们从运行一个简单的命令开始,该命令会创建一个长时间运行的进程:

sleep 1000 &

这将启动一个在后台运行 1000 秒的 sleep 进程。

要查看 sleep 进程的 PID,请运行:

ps aux | grep sleep

示例输出:

labex      5678  0.0  0.0   8192   728 pts/0    S    12:34   0:00 sleep 1000

sleep 进程的 PID 是 5678

现在,让我们使用 kill 命令终止这个进程:

kill 5678

sleep 进程应该会立即终止。

使用 kill 命令终止进程

在这一步中,你将学习如何使用 kill 命令终止进程。

首先,让我们启动一个新的长时间运行的进程:

sleep 1000 &

这将启动一个新的 sleep 进程,该进程会在后台运行 1000 秒。

要查看 sleep 进程的 PID,请运行:

ps aux | grep sleep

示例输出:

labex      5678  0.0  0.0   8192   728 pts/0    S    12:34   0:00 sleep 1000

sleep 进程的 PID 是 5678

现在,让我们使用 kill 命令终止这个进程:

kill 5678

sleep 进程应该会立即终止。

为了验证进程是否已被终止,请再次运行以下命令:

ps aux | grep sleep

输出中应该不再显示 sleep 进程。

探索 kill 命令的高级选项

在这一步中,你将探索 kill 命令的一些高级选项。

kill 命令可以向进程发送不同的信号。默认信号是 SIGTERM,它会请求进程优雅地终止。然而,你也可以发送其他信号,例如 SIGINT(中断)、SIGKILL(立即终止)等。

让我们首先创建一个新的长时间运行的进程:

sleep 1000 &

现在,让我们使用 SIGINT 信号终止该进程:

kill -SIGINT 5678

sleep 进程应该会被中断并终止。

你也可以使用信号编号代替信号名称:

kill -2 5678

这将向 PID 为 5678 的进程发送 SIGINT 信号。

另一个有用的选项是 -9 选项,它会发送 SIGKILL 信号。该信号无法被进程忽略,并且会立即终止进程:

kill -9 5678

SIGKILL 信号是当进程不响应其他信号时的“最后手段”选项。

总结

在本实验中,你学习了 Linux 中 kill 命令的用途,该命令用于终止或向正在运行的进程发送信号。你首先启动了一个长时间运行的 sleep 进程,然后使用 kill 命令和进程 ID(PID)终止了它。你还探索了 kill 命令的高级选项,例如向进程发送不同的信号、通过进程名称终止进程,以及使用 killall 命令一次性终止多个进程。

Linux 命令速查表