( Normalmente no se requiere reiniciar para que los cambios en el archivo HOSTS local surtan efecto ) .
Su técnica de bloqueo puede funcionar mejor si incluye ambos nombres de host (y puede colocar más de uno en una sola línea, o hacer varias entradas para la misma dirección IP en varias líneas), una con el "www". prefijo y uno sin (tal como lo estoy mostrando aquí, excepto que estoy usando "example.com" en su lugar):
127.0.0.1 example.com www.example.com
La razón por la que el bloqueo no funciona como esperaba es que el archivo HOSTS es muy literal en la forma en que maneja las cosas, y probablemente esté usando el "www". variación del prefijo del nombre de host, que también supongo que no definiste [ya que tu ejemplo muestra solo un nombre de host sin "www". prefijo].
Si estaba utilizando un servidor DNS en su lugar, podría configurar una zona para "example.com" y "www.example.com" se incluiría automáticamente (esto se debe a la naturaleza jerárquica de DNS). El archivo HOSTS, por otro lado, le permitirá anular las direcciones IP solo para los nombres de host que especifique allí.
Al resolver un nombre de host a una dirección IP, su computadora normalmente consulta primero el archivo HOSTS local, seguido de cualquier caché local, y luego consulta DNS después de eso. Esto se hace para preservar el ancho de banda, y es muy efectivo.
Para un puñado de computadoras, el archivo HOSTS local puede ser fácil de administrar, pero para una gran cantidad de computadoras generalmente es más fácil configurar un servidor DNS (con las zonas que desea bloquear agregadas para resolver a nada, o 127.0.0.1 , o incluso un servidor de intranet) y configure todas las computadoras para usarlo.