Linux
在後台不斷檢查網際網路連接的最佳方法是什麼?
我的網卡有功能問題 - 網際網路在一段時間內消失,而 wifi 連接級別沒有改變。重新連接到同一個 Wi-Fi 點可解決此問題。
我想編寫一個解決方法腳本,持續檢查網際網路連接(例如,每 10 秒檢查一次),如果它消失,腳本會重新連接 Wi-Fi。我想使用,但它的手冊說在自動化腳本期間
ping
使用它是不明智的。ping
$ uname -a Linux NS-COMP 4.11.0-13-generic #19~16.04.1-Ubuntu SMP Wed Aug 2 20:06:21 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux $ lspci -knn | grep Net -A2 03:00.0 Network controller [0280]: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe [1814:3290] Subsystem: Foxconn International, Inc. RT3290 Wireless 802.11n 1T/1R PCIe [105b:e055] Kernel driver in use: rt2860
為什麼wifi總是斷開連接:
根據debian 文件,您應該使用
rt2800pci
而不是rt2860
目前載入的。女巫無需執行腳本即可重新連接即可解決您的問題。一個範例 bash 腳本
如果您在斷開 wifi 連接(重新載入核心模組 + 重新連接)時需要執行 bash 腳本進行連接,這是一個範例 bash 腳本
reconnect
:#!/bash/bash if ! [ "$(ping -c1 8.8.8.8)" ] then modprobe -r rt2860 modprobe rt2800pci ip link set wlan0 down ip link set wlan0 up fi
每 10 秒執行
reconnect
一次腳本:while true ; do ./reconnect & sleep 10 ; done &
如果幾個小時後 wifi 掉線,最好創建一個 cron 作業以每 1 小時執行一次腳本:這裡有一些範例