when is the /etc/hosts file loaded?
I'm trying to configure some virtual hosts and I'm quite confused as to when this file is loaded.
At what point is /private/etc/hosts
loaded? When logging in? At every DNS call? When Mac OS restarts?
Solution 1:
The hosts(5) manual page provides some insight into how /etc/hosts
is used.
The file is used by mDNSResponder
and, given your question, I suspect you want to see edits to /etc/hosts
reflected in your DNS look-ups.
After each edit of /etc/hosts
reset the mDNSResponder
cache using this Apple technical note, OS X: How to reset the DNS cache:
sudo dscacheutil -flushcache
The note explains when you might need to do this:
When you might want to do this
OS X keeps a local cache of resolved DNS queries for a time defined by the DNS server, but sometimes it may be necessary to reset the cache immediately and re-query a DNS server. For example, you might do this after an entry on the server is changed or a new entry is added.
Solution 2:
Usually changes to /etc/hosts
are updated automatically within a few seconds, and I haven't needed to reset the DNS cache manually.
If you try to run sudo opensnoop|grep /etc/hosts
and edit /etc/hosts
, /etc/hosts
is read by mDNSResponder
almost immediately after you save it.