MacOS 刷新本地 DNS 缓存

在开发的过程中,项目的域名更换了一个新的 IP 地址,但是使用电脑访问的话并不会立即生效,这个时候只需要强制的刷新一下本地的 DNS 缓存,就可以拿到我们最新设置的 域名-IP 映射关系,进行域名的访问。

dscacheutil 命令(推荐使用)

sudo dscacheutil -flushcache
# 需要输入密码
  • 作用: 该命令会清除 macOS 系统中的 DNS 缓存,包括解析的 DNS 记录和主机名。它会强制系统在下次访问网站或其他网络服务时重新解析 DNS 记录,以获取最新的信息。
  • 影响范围: 这个命令只影响 DNS 缓存,不会影响其他网络服务或进程。

killall 命令

sudo killall -HUP mDNSResponder
# 需要输入密码
  • 作用: 这个命令会发送一个 SIGHUP 信号给 macOS 上的 mDNSResponder 进程。mDNSResponder 是负责处理多播 DNS 和单播 DNS 查询的进程。发送 SIGHUP 信号会告诉 mDNSResponder 重新加载其配置和缓存。
  • 影响范围: 除了刷新 DNS 缓存外,重新加载 mDNSResponder 的配置可能会影响其他与网络相关的服务和进程。

总结

sudo dscacheutil -flushcache 更直接地清除 DNS 缓存,而 sudo killall -HUP mDNSResponder 不仅刷新 DNS 缓存,还可能影响其他网络服务的状态。通常情况下,如果只需要刷新 DNS 缓存而不影响其他网络服务,推荐使用前者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注