我正在尝试使用OSX上的子域进行开发,但不想重新启动计算机以刷新主机文件。通常在linux上我会这样做,/etc/init.d/networking restart
但是我不知道如何在OSX上这样做。
我正在尝试使用OSX上的子域进行开发,但不想重新启动计算机以刷新主机文件。通常在linux上我会这样做,/etc/init.d/networking restart
但是我不知道如何在OSX上这样做。
Answers:
不用了 简单地sudo vim /etc/hosts
,更改您需要更改的内容并继续。您所做的更改将立即应用。
如果ping yourdomain.com
仍然为您提供了错误的IP,请尝试清除DNS缓存:
OSX 10.4及更低版本:lookupd -flushcache
OSX 10.5 + 10.6:dscacheutil -flushcache
OSX 10.7 + 10.8:sudo killall -HUP mDNSResponder
OSX 10.9及更高版本:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
OSX 10.12及更高版本:sudo dscacheutil -flushcache
sudo dscacheutil -flushcache
仅足以清除缓存
dscacheutil -flushcache
就足够了
对于Sierra:sudo dscacheutil -flushcache; 须藤killall -HUP mDNSResponder
来自 https://www.indabaa.com/how-to-reset-flush-dns-cache-in-macos-sierra/
我从https://serverfault.com/questions/478534/how-is-dns-lookup-configured-for-osx-mountain-lion了解到/ etc / hosts和/etc/resolv.conf确实不再使用OS X Sierra 10.12。*(可能更早)。确实,当我尝试将主机添加到/ etc / hosts并使用上述指令重置缓存时,通过host命令无法识别主机。但是,ping确实可以识别它们。
networksetup命令替代了“旧的”处理方式,或使用了网络GUI。例如,指定要使用的dns服务器:
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4