wpa_action 스크립트: 데몬 모드에서 wpa_cli를 실행하는 방법은 무엇입니까?

wpa_action 스크립트: 데몬 모드에서 wpa_cli를 실행하는 방법은 무엇입니까?

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루트 디렉터리 /의 파일 로 리디렉션되었습니다.

다들 감사 해요

관련 정보