\r\n\r\n
Webサイトで作業をしていると、特にレコードの編集やホストの変更後に、コンピューターのDNSキャッシュをリセットする必要が生じることがあります。Windowsでは専用コマンドで簡単にDNSキャッシュをフラッシュすることができますが、Macユーザーはいくつかの回避策を使用しなければなりません。
MacでDNSキャッシュをクリアするには、アプリケーション>ユーティリティ、またはSpotlightで検索して見つかるターミナルを開き、次のコマンドを実行します。
sudo killall -HUP mDNSResponderリクエスト時にパスワードを入力してください。
このコマンドは実際に何をするのでしょうか。ここで起こっているのは、システムを騙してキャッシュをフラッシュさせることです。Wikipediaには次のように説明されています。
SIGHUP信号は、プロセスの制御端子が閉じたときに送られる信号です。本来はシリアル回線のドロップ(ハングアップ)を処理に通知するためのものです。最近のシステムでは、この信号は通常、制御用の疑似端末または仮想端末が閉じられたことを意味する。多くのdaem***はこのシグナルを受け取ると,終了する代わりに設定ファイルを再読み込みしたり,ログファイルを開き直したりします.
明らかに、あなたは残っているものをすべて知る必要はなかったのです。
このプロセスについては、ウェブ上では相反する情報が多く存在します。例えば、High Sierraではこれ以上のコマンドを実行する必要があると主張するサイトもあれば、このコマンドを不必要に長くしているサイトもあります。しかし、私たちが知る限り、実は上記のコマンドだけで十分なのです。ここでは、その確認方法について説明します。
DNSリセットが実際に機能しているかどうかわからない?キャッシュを更新する前にウェブブラウザを閉じることが有効な場合もありますが、これがうまくいかないようであれば、2つの方法でキャッシュが空であることをすぐに確認することができます。
端末で、dig と入力し、次にサイトの URL を入力します。
dig tl80.cn結果の「回答」セクションには、あなたのコンピューターが知っているサイトのIPアドレスが表示されます。
新しいIPアドレスが表示されない場合は、MacのDNS設定を変更し、再度キャッシュを更新することを検討してください。
よりグローバルな(サイトに依存しない)アプローチとして、コンソールを使用してキャッシュがリセットされたことを確認することもできます。コンソールは、アプリケーション > ユーティリティ、またはスポットライトを使用して見つけることができます。左側のパネルでシステムをハイライトした状態で、検索ボックスに「mDNSResponder」と入力してEnterキーを押し、最初のクエリの隣に「Cache size」と入力して再度Enterキーを押します。このように
ここで、コンソールウィンドウを開いたまま、ターミナルウィンドウに戻り、以下のコマンドを実行してください。
sudo killall -INFO mDNSResponderコンソールウィンドウにDNSキャッシュのサイズがハイライト表示されているのが確認できると思いますので、以下のコマンドを実行してください。
sudo killall -HUP mDNSResponderその後、再度このコマンドを実行してください。
sudo killall -INFO mDNSResponderコンソールウィンドウにキャッシュサイズの変化が表示されるはずです。上のスクリーンショットでは、このコマンドを発行してからキャッシュサイズがかなり変化したことがわかります。