![백그라운드에서 인터넷 연결을 지속적으로 확인하는 가장 좋은 방법은 무엇입니까?](https://linux55.com/image/118862/%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C%EC%97%90%EC%84%9C%20%EC%9D%B8%ED%84%B0%EB%84%B7%20%EC%97%B0%EA%B2%B0%EC%9D%84%20%EC%A7%80%EC%86%8D%EC%A0%81%EC%9C%BC%EB%A1%9C%20%ED%99%95%EC%9D%B8%ED%95%98%EB%8A%94%20%EA%B0%80%EC%9E%A5%20%EC%A2%8B%EC%9D%80%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
네트워크 카드에 성능 문제가 있습니다. 잠시 후 인터넷이 끊어지지만 Wi-Fi 연결 수준은 변경되지 않습니다. 동일한 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
답변1
Wi-Fi 연결이 계속 끊어지는 이유:
~에 따르면데비안 문서현재 로드된 것 rt2800pci
대신에 사용해야 합니다 . rt2860
문제를 해결하기 위해 다시 연결 스크립트를 실행할 필요는 없습니다.
Bash 스크립트 예
Wi-Fi 연결이 끊어졌을 때(커널 모듈 다시 로드 + 다시 연결) 연결하기 위해 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
reconnect
10초마다 스크립트를 실행합니다.
while true ; do ./reconnect & sleep 10 ; done &
몇 시간 후에 Wi-Fi가 오프라인 상태가 되면 1시간마다 스크립트를 실행하는 크론 작업을 만드는 것이 좋습니다.여기 몇 가지 예가 있어요