/etc/hosts, which service(s) need(s) to be restarted for the change to take effect?
For the most part etc/hosts changes should be recognized immediately. If you add a new entry then ping it by name on the machine hosting the etc/hosts file it will most likely ping, that means the etc/hosts update has been recognized by DNS. On a pihole system if you restart the DNS resolver it will pick up the newly-added/edited etc/hosts entries. Most likely it's a function of whatever program is trying to utilize the hosts entries, did it read the current stuff or did it read just at boot time, or like pihole, will it reread by restarting a simple internal function?
I kept getting an error, and google took me to this question. I thought I needed to restart some service, but actually I found it was my fault:
$ ping remote_hostname ping: unknown host remote_hostname
The reason why hosts wasn't recognising a new entry was a typo in the IP address: