![如何在不停机的情况下重置网络管理器?](https://linux22.com/image/1174510/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E5%81%9C%E6%9C%BA%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E9%87%8D%E7%BD%AE%E7%BD%91%E7%BB%9C%E7%AE%A1%E7%90%86%E5%99%A8%EF%BC%9F.png)
我的 WiFi 连接不稳定,带宽经常达到 0 而不会真正断开连接(已连接但没有数据传输)。通过以下方式重置网络管理器
sudo service network-manager restart
完美解决了这个问题。但是,我有两个问题:
- 如何在不停机的情况下重置网络管理器?使用上述命令,任何正在进行的下载都将被中断。重置时是否可以保留当前连接?
- 我如何编写一个 bash 脚本来定期检查网络连接并在没有数据传输时重置它?
我使用 Ubuntu 20.04。
答案1
重新启动网络管理器时,所有连接都会断开,因此无法避免停机。但是,您可以连接到 LAN,使用 iface 配置 LAN。这可能会让您在重新启动网络管理器时保持连接。如果没有,您可以先配置静态路由以将所有流量转移到 LAN。
在此处阅读有关 iface 及其配置方法/etc/network/interfaces
:
网络配置 - Debian Wiki。
在此处了解有关将流量路由到特定网络接口的信息: 仅通过 eth0 路由特定的内联网流量;其他所有流量均通过 wlan0
希望这有帮助。
答案2
其他人提供的信息/答案是正确的,您无法重置 NM 并保持连接。您必须解决问题的根本原因。
我发现许多与 Wifi 相关的问题可以通过禁用电源管理来解决。
以下是我的做法:
创建:/etc/network/if-up.d/wifi-powerman-off
启用:chmod +x /etc/network/if-up.d/wifi-powerman-off
替换接口名称
#!/bin/sh
IWCONFIG=/sbin/iwconfig
WLAN_IFACE=<<interface name>>
if [ ! -x $IWCONFIG ]; then
exit 1
fi
if [ "$IFACE" = $WLAN_IFACE ]; then
$IWCONFIG $IFACE power off
fi
答案3
这是不可能的,如果你破坏或将接口置于关闭状态,连接也会关闭。
重新启动操作,关闭接口,然后重新启动。
如果您能想到的唯一解决方法是重置网络接口,那么您就没有方法实现您的目标。
我对您的建议是尝试调试连接并了解为什么附加此内容,但在不关闭连接的情况下重新启动网络是不可能的。
答案4
如果已经断网,那么你其实没什么可失去的,而且即使断网,大多数设备也会暂停,直到它们再次恢复 wifi
编辑:下载将暂停,直到重新连接,所以它们会停止一会儿然后恢复,至于脚本我不知道