在没有网络连接的情况下启动的进程永久无法使用它
简而言之:进程第一次尝试使用连接时,如果由于没有可用连接而失败,那么单个进程将永远无法重新获得使用网络的能力。我必须杀死并重启它。 我有一个ruby脚本试图解决'google.com'三次。如果我禁用网络(通过NetworkManager)或关闭我的物理WLAN关闭,启动脚本,让它失败一次,然后重新启用网络,其他两个解决方案也将失败,即使系统的其余部分有网络。 类似的Python脚本展示了相同的结果,以及浏览器lynx。不是火狐!这些行为都在VM和运行最新Manjaro x64 XFCE的物理机器上进行了测试。在最新的Ubuntu x64上,相同的测试工作正常。 为什么会这样?这是一个错误,功能,怪癖? 编辑: 关于Manjaro,内容 /etc/resolv.conf 由resolvconf重新生成。 网络启用: search lan; nameserver 192.168.1.1 禁用网络:空文件 Ruby / Python / Lynx必须只读 resolv.conf 一旦。因此,在第一次请求时,它会找到空文件,并且永远无法再解析任何名称。 在Ubuntu上, /etc/resolv.conf: 网络启用: nameserver 127.0.1.1; search lan 禁用网络: nameserver 127.0.1.1 因此,当Ruby / Python / Lynx在禁用的网络上读取它时,当连接恢复时,它们仍然会有一个名称服务器来联系。 Manjaro设置的问题在于没有连接,没有名称服务器。 Ubuntu运行dnsmasq为127.0.1.1而Manjaro不运行。