介绍
在本实验中,你将学习如何使用 Linux 的 kill
命令来终止进程并向正在运行的进程发送信号。实验内容涵盖了 kill
命令的用途、如何使用该命令终止进程,并深入探讨了 kill
命令的高级选项。你将启动长时间运行的进程,然后使用 kill
命令终止它们,同时了解可以向进程发送的不同信号。本实验提供了实用的示例,帮助你深入理解 kill
命令,这是 Linux 中进程管理的重要工具。
在本实验中,你将学习如何使用 Linux 的 kill
命令来终止进程并向正在运行的进程发送信号。实验内容涵盖了 kill
命令的用途、如何使用该命令终止进程,并深入探讨了 kill
命令的高级选项。你将启动长时间运行的进程,然后使用 kill
命令终止它们,同时了解可以向进程发送的不同信号。本实验提供了实用的示例,帮助你深入理解 kill
命令,这是 Linux 中进程管理的重要工具。
kill
命令的用途在这一步中,你将学习 Linux 中 kill
命令的用途。kill
命令用于终止或向正在运行的进程发送信号。
kill
命令允许你:
SIGTERM
(默认)、SIGINT
、SIGKILL
等让我们从运行一个简单的命令开始,该命令会创建一个长时间运行的进程:
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
命令一次性终止多个进程。