初学者 Linux pkill 命令教程(5 个示例)
在此页
- Linux pkill 命令
- Q1。如何使用 pkill 命令?
- Q2。如何让 pkill 发送不同的信号?
- Q3。如何基于完整命令行终止进程?
- Q4。如何使 pkill 不区分大小写?
- Q5。如何使用 pkill 使 syslog 重新读取其配置文件?
- 结论
在 Linux 中,如果您需要通过命令行终止进程(无论出于何种原因),您可以使用 kill 命令,该命令要求您将要终止的进程的 ID 作为输入传递。但是您是否知道还有一种方法可以在不指定进程的 PID 的情况下终止进程?
是的,有一个名为 pkill 的工具可以让您执行此操作。在本文中,我们将使用一些易于理解的示例来讨论此命令的基础知识。但在我们这样做之前,值得一提的是,这里的所有示例都已经在 Ubuntu 18.04 LTS 和 Debian 10 机器上进行了测试。
Linux pkill 命令
Linux 中的 pkill 命令基本上是一种更简单的终止进程的方法。以下是它的语法:
pkill [options] pattern
以下是手册页中关于此工具的内容:
pkill - signal processes based on name and other attributes
以下是一些 Q&A 风格的示例,它们可以让您更好地了解 pkill 命令的工作原理。
Q1。如何使用 pkill 命令?
基本用法非常简单明了——您所要做的就是以进程名称作为输入来执行 pkill。
例如,如果您试图终止 gedit 进程,您可以使用 pkill 按以下方式执行此操作:
pkill gedit
就是这样。您会看到 gedit 进程(如果正在运行)将在执行上述命令时被终止。
Q2。如何让 pkill 发送不同的信号?
如本文开头所述,pkill 命令基本上向进程发送信号。默认情况下,发送的是 SIGTERM 信号,但如果需要,可以使用 --signal 命令行选项更改信号。
例如:
pkill --signal SIGKILL
gedit
Q3.如何基于完整命令行终止进程?
默认情况下,输入名称(模式)与进程名称匹配。但是,如果需要,您可以使 pkill 匹配完整的命令行。这可以使用 -f 命令行选项来完成。
例如,假设我的系统上运行着两个 ping 命令。以下是 ps 命令输出的摘录:
...
root 19253 0.0 0.1 9180 2916 pts/1 S+ 19:24 0:00 ping google.com
root 19331 0.0 0.1 9180 2912 pts/2 S+ 19:25 0:00 ping linux教程
...
现在,假设要求仅使用 pkill 终止 ping google.com 命令。
如果您按以下方式使用 pkill:
pkill ping
那么这两个命令都将被终止。所以为了避免这种情况,我们可以使用 -f 命令行选项。继承人如何使用它:
pkill -f "ping google.com"
我在第一个终端窗口中执行了命令:

结果在运行 ping 进程的第二个终端窗口中:

因此,当执行上述命令时,只有作为输入提到的命令被杀死。
Q4.如何使 pkill 不区分大小写?
默认情况下,pkill 命令区分大小写,这意味着它以不同方式处理大写和小写的名称。但是,如果需要,您可以强制 pkill 不区分大小写,您可以使用 -i 命令行选项来做到这一点。
pkill -i [process-name]
Q5.如何使用 pkill 使 syslog 重新读取其配置文件?
您可以通过以下方式使用 pkill 命令来实现此目的:
pkill -HUP syslogd
结论
所以当涉及到杀死进程时,pkill 是一个非常有用的命令。我们已经讨论了该命令提供的一些命令行选项。完成这些练习后,您可以通过前往其手册页了解有关该命令的更多信息。