2014-04-22 2 views
1

WIFI의 상태를 모니터링하는 응용 프로그램을 작성하고 싶습니다. 예를 들어, Linux가 AP에 연결하면 Wifi가 준비되었음을 알리는 알림을받을 수 있습니다. 시스템의 경우 "iw"및 "wpa_cli"명령을 사용할 수 있습니다. 그래서 내가 무엇을해야하니? 5 초마다 Wi-Fi 스캔을위한 새 스레드를 만드시겠습니까? 누구든지 더 나은 해결책이 있습니까? 미리 감사드립니다.리눅스의 Wifi 상태를 어떻게 확인할 수 있습니까?

답변

4

현재 Linux 시스템의 일부가 급격한 변화를 겪고 있습니다. systemd 토론에 대해 들어 보셨습니까? systemd은 오래된 SysV Init를 대체 할 것입니다. 이 변경 과정에서도 네트워크 인터페이스를 모니터링하는 방법이 바뀝니다. 오늘날의 배포판 솔루션은 init (또는 우분투의 경우 upstart)에 의해 실행되는 스크립트를 기반으로하고 있지만 향후 배포판은 systemd 개의 스크립트를 기반으로합니다. 지금까지 systemd과 작업하지는 않았지만 네트워킹 모니터링 항목 인 http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/에서이 설명서를 발견했습니다. 모든 배포판에서는 systemd을 최대한 빨리 통합하기로 합의 했으므로 향후 증명 솔루션에서 사용해야합니다.


전에 systemd (오늘까지) : 데비안/우분투에

당신은 폴더 /etc/network/if-up.d에 스크립트를 추가 할 수 있습니다. 해당 폴더의 실행 파일은 인터페이스가 "가동"될 때마다 호출됩니다. 그 아날로그에 폴더 if-down.d, if-post-down.d, if-pre-up.d을 사용할 수도 있습니다. 인터페이스 ID 및 일부 다른 매개 변수는 스크립트에 전달됩니다. 데비안/우분투에서 자세한 내용은 man interfaces을 확인하십시오.

다른 배포판에는 자체 메커니즘이있을 수 있습니다.

+0

감사합니다. hek2mgl. 하지만 내 C/C++ 응용 프로그램에서 어떻게 사용할 수 있습니까? – buptcoder

관련 문제