Linux pkill 命令实战示例

LinuxLinuxBeginner
立即练习

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

介绍

在本实验中,你将学习如何使用 Linux 的 pkill 命令通过进程名称或进程 ID (PID) 来终止进程。pkill 命令是 Linux 系统中管理进程的强大工具,它提供了一种便捷的方式来终止进程,而无需知道其确切的 PID。你将探索如何通过名称终止进程,以及如何通过 PID 终止进程。本实验涵盖了实际示例,并展示了 pkill 命令在进程管理任务中的多功能性。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/ProcessManagementandControlGroup(["Process Management and Control"]) linux/ProcessManagementandControlGroup -.-> linux/kill("Process Terminating") linux/ProcessManagementandControlGroup -.-> linux/pkill("Pattern-Based Killing") linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") subgraph Lab Skills linux/kill -.-> lab-422860{{"Linux pkill 命令实战示例"}} linux/pkill -.-> lab-422860{{"Linux pkill 命令实战示例"}} linux/ps -.-> lab-422860{{"Linux pkill 命令实战示例"}} end

理解 pkill 命令

在这一步中,你将学习 Linux 中的 pkill 命令,它允许你通过进程名称或进程 ID (PID) 来终止进程。

pkill 命令是 Linux 系统中管理进程的强大工具。它提供了一种便捷的方式来终止进程,而无需知道其确切的 PID。这在需要终止多个进程实例或不确定目标进程的确切 PID 时尤其有用。

要使用 pkill 命令,你可以指定进程名称或与进程名称匹配的模式。该命令将终止所有匹配的进程。

以下是一个使用 pkill 通过名称终止进程的示例:

sudo pkill -f firefox

该命令将终止所有名称为 "firefox" 的进程。

示例输出:

[1]+ Terminated              firefox

你还可以使用 -9 选项向进程发送 SIGKILL 信号,强制其立即终止:

sudo pkill -9 -f firefox

该命令将使用 SIGKILL 信号终止所有名称为 "firefox" 的进程。

示例输出:

[1]+ Killed                  firefox

除了通过名称终止进程外,你还可以使用 pkill 通过 PID 终止进程。为此,可以使用 -P 选项后跟 PID:

sudo pkill -P 12345

该命令将终止 PID 为 12345 的进程。

示例输出:

[1]+ Terminated              process 12345

请记住,pkill 命令是一个强大的工具,因此请谨慎使用,以避免意外终止重要的系统进程。

通过进程名称终止进程

在这一步中,你将学习如何使用 pkill 命令通过进程名称终止进程。

首先,让我们启动一些进程用于本示例:

## Start a few processes
sleep 1000 &
firefox &
gedit &

现在,让我们使用 pkill 通过名称终止 Firefox 进程:

sudo pkill -f firefox

示例输出:

[2]+ Terminated              firefox

如你所见,Firefox 进程已被终止。

你还可以在 pkill 命令中使用通配符来匹配多个进程名称。例如,终止所有名称中包含 "gedit" 的进程:

sudo pkill -f gedit

示例输出:

[3]+ Terminated              gedit

如果你想终止所有匹配特定模式的进程,可以使用 -e 选项指定正则表达式:

sudo pkill -ef 'sleep|firefox'

该命令将终止所有名称中包含 "sleep" 或 "firefox" 的进程。

示例输出:

[1]+ Terminated              sleep 1000
[2]+ Terminated              firefox

请记住,pkill 命令是一个强大的工具,因此请谨慎使用,以避免意外终止重要的系统进程。

通过进程 ID 终止进程

在这一步中,你将学习如何使用 pkill 命令通过进程 ID (PID) 终止进程。

首先,让我们启动一个新进程用于本示例:

## Start a new process
sleep 1000 &

要获取 sleep 进程的 PID,可以使用 ps 命令:

ps -ef | grep sleep

示例输出:

labex      3456  3455  0 11:30 pts/0    00:00:00 sleep 1000

在本示例中,sleep 进程的 PID 是 3456

现在,让我们使用 pkill 通过 PID 终止该进程:

sudo pkill -P 3456

示例输出:

[1]+ Terminated              sleep 1000

如你所见,sleep 进程已被终止。

你还可以使用 -9 选项向进程发送 SIGKILL 信号,强制其立即终止:

sudo pkill -9 -P 3456

该命令将使用 SIGKILL 信号终止 PID 为 3456 的进程。

示例输出:

[1]+ Killed                  sleep 1000

请记住,pkill 命令是一个强大的工具,因此请谨慎使用,以避免意外终止重要的系统进程。

总结

在本实验中,你学习了 Linux 中的 pkill 命令,它允许你通过进程名称或进程 ID (PID) 终止进程。你探索了如何使用 pkill 通过名称终止进程,并提供了使用默认 SIGTERM 信号或 SIGKILL 信号强制立即终止所有名称为 "firefox" 的进程的示例。此外,你还学习了如何使用 -P 选项通过 PID 终止进程。pkill 命令是 Linux 系统中管理进程的强大工具,但应谨慎使用,以避免意外终止重要的系统进程。

Linux 命令速查表