如何重启WiFi连接?

我想我没有硬件问题。 有时,WiFi连接显然会断开连接。 所以这不一定和这种情况一样 ,我可能不需要重新加载任何模块。

但是如何重新启动wlan0 ? 我尝试restart network-manager ,但这似乎让wlan0独自一人。

您只需重新启动网络管理器 :

 sudo service network-manager restart 

试试这个:

 sudo ifconfig wlan0 down sudo ifconfig wlan0 up 

如果你是脚本,这些不需要root:

 nmcli networking off nmcli networking on 

更多信息: man nmcli

编辑

正如这些家伙在评论中所说的那样,仅适用于WI-FI:

 nmcli radio wifi off nmcli radio wifi on 

您可以尝试杀死设备的电源。 假设你不能/不愿意断开设备的连接,你应该运行(以root身份): iwconfig wlan0 txpower off 。 我会等待10-15秒,以确保任何硬件问题导致问题已经停止,然后: iwconfig wlan0 txpower auto

或者,您只需运行rfkill并阻止/取消阻止您的设备即可。 为此,运行rfkill block wifi ,然后运行rfkill unblock wifi 。 第二个选项应该更快,因为您只需要在命令之间等待2-3秒,而不是10-15秒。 事实上,在我的机器上,我根本不需要等待,虽然我怀疑这取决于你的WiFi硬件。 此选项也可以作为普通用户完成,无需root。

您也可以重新启动NetworkManager。 如果使用systemctl作为init系统(与较新版本的Ubuntu一样),则可以使用systemctl restart NetworkManager 。 否则,您可以使用sudo initctl restart network-manager 。 如果您不知道您使用的是哪个init系统,请尝试这两个命令并查看哪些有效。

根据先前的链接建议创建了一个脚本,并对先前的链接进行了一些混合和匹配。 这适用于我在Mint Linux 17.3下运行。

以下文件不需要root访问权限。 它只有在已经关闭时才重启wifi。 现在我只需要将此脚本添加到cron作业,每15分钟左右检查一次我的wifi连接。

 #!/bin/bash wlan=$(/sbin/ifconfig wlan0 | grep inet\ addr | wc -l) if [ $wlan -eq 0 ]; then nmcli nm wifi on else echo "interface is up" fi