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ルートディレクトリ/のファイルにリダイレクトされました。

みんなありがとう

関連情報