📜  杀死信号以重新加载 coredns - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:10:40.774000             🧑  作者: Mango

杀死信号以重新加载 coredns - Shell/Bash

在使用 CoreDNS 时,有时我们需要对其进行重新加载以应用新的配置更改。但是,如果我们只是简单地重新启动 CoreDNS 服务,可能会导致正在运行的查询中断,并对我们的服务产生负面影响。因此,我们需要使用一种方法,可以不中断正在运行的查询,并能够重新加载 CoreDNS 服务。在本文中,我们将介绍如何使用 Shell/Bash 的 kill 命令来实现这一目的。

首先,我们需要了解一些内容。每当我们使用 systemd 启动 CoreDNS 服务时,它会将 Master 进程的 PID 写入 PID 文件中。因此,我们可以通过 PID 文件来找到 Master 进程的 PID。

cat /run/coredns.pid

上述命令将输出 PID 文件中的 PID。

接下来,我们可以使用 kill 命令的 SIGHUP 选项来通知 CoreDNS 进程重新加载其配置文件,而不会中断正在运行的查询。SIGHUP 选项的工作原理是,它将向 CoreDNS 进程发送一个“挂起”信号,CoreDNS 进程会接收并重新加载配置文件。

因此,我们需要使用以下命令将 SIGHUP 信号发送给 CoreDNS 进程:

kill -s SIGHUP $(cat /run/coredns.pid)

上述命令将将 SIGHUP 信号发送给 CoreDNS 进程,以重新加载其配置文件。

总结一下,使用 Shell/Bash 将 SIGHUP 信号发送给 CoreDNS 进程是实现重新加载 CoreDNS 服务的一种很好的方法。此方法可以避免中断正在运行的查询,并使 CoreDNS 能够更有效地应用新的配置更改。