Erlang имеет inet.gethostname для получения имени хоста:
iex(1)> {:ok, hostname} = :inet.gethostname {:ok, 'Michaels-MacBook-Pro'}
Но как вы получаете доменное имя?
:net_adm.dns_hostname(:net_adm.localhost)
, кажется, делает то, что вы хотите.
Это не самое элегантное решение, но это единственное, что я нашел, которое работает до сих пор:
def fqdn do {fqdn, _exit_status} = System.cmd("hostname", ["-f"]) String.trim(fqdn) end