Wi-Fi가 연결되거나 연결이 끊어졌을 때 실행되는 스크립트를 작성하려고 합니다. 많은 검색 끝에 wpa_cli -a
스크립트를 사용하라는 명령을 얻었습니다.
테스트 파일
case "$1" in
wlan0)
case "$2" in
CONNECTED)
echo WIFI is CONNECTED "$WPA_ID" > output
#sudo python ./do.py
;;
DISCONNECTED)
echo WIFI is Disconnected "$WPA_ID" > output
;;
*)
>&2 echo empty or undefined event for wlan0: ""
exit 1
;;
esac
;;
esac
명령을 실행하여 스크립트를 테스트했습니다 sudo wpa_cli -a /home/pi/test.sh
. Wi-Fi 연결을 끊고 출력 파일을 확인했는데 "WIFI 연결 끊김 메시지"가 포함되어 있었습니다. Wi-Fi에 연결하면 유사한 확인이 수행되며 "WIFI 연결됨" 메시지가 표시됩니다.
그런데 데몬 모드에서 명령을 실행하려고 하면 wpa_cli
작동하지 않습니다. 나는 명령을 사용했습니다 sudo wpa_cli -a /home/pi/test.sh -B
. 하지만 이번에는 Wi-Fi에 연결하거나 연결을 끊으면 출력 파일에 변화가 없습니다.
하지만 i 하면 ps aux|grep test.sh
스크립트가 실행 중임을 나타냅니다.
답변1
나는 이미 답을 가지고 있습니다. 데몬 모드에서 실행했을 때 sudo wpa_cli -a /home/pi/test.sh -B
출력 파일에 오류(홈 디렉터리에서)가 있는지 확인했습니다 . 에코에서는 파일 출력의 올바른 경로를 언급하지 않았으므로 output
루트 디렉터리 /
의 파일 로 리디렉션되었습니다.
다들 감사 해요