Linux
/etc/resolve.conf 的更新需要重新啟動應用程序
我正在使用嵌入式 linux 目標 (ARM) 並遇到以下問題:當 /etc/resolv.conf 更新時,當一個程序正在執行時(例如使用 gethostbyname() 的 C 程序),正在執行的程序不關心新的名稱伺服器條目,直到它重新啟動。
已使用 systemd-resolve -i eth0 –set-dns=“ipaddr” 創建 DNS 條目
如果我在我的桌面 linux 上嘗試相同的操作,對 /etc/resolv.conf 的任何更改都會立即被正在執行的程序使用,而無需重新啟動。
當 /etc/resolv.conf 被修改時,我怎樣才能看到後台發生了什麼(或沒有發生)?嵌入式目標上可能缺少什麼服務?為什麼重新啟動應用程序後它可以工作?
嘗試添加
resolve
到您/etc/nsswitch.conf
之前的dns
條目中,因此 hosts 行將如下所示:hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname