web-dev-qa-db-ja.com

wpa_actionスクリプト:デーモンモードでwpa_cliを実行する方法は?

Wi-Fiが接続または切断されたときに実行されるスクリプトを作成しようとしていました。何度も検索した結果、スクリプトで動作するwpa_cli -aコマンドを取得しました。

test.sh

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切断メッセージ」が含まれています。同様のチェックはwifiに接続することで行われ、「WIFI接続済み」というメッセージが表示されました。

しかし、デーモンモードでコマンドwpa_cliを実行しようとすると、機能しません。コマンドSudo wpa_cli -a /home/pi/test.sh -Bを使用しました。しかし、今回は、wifiを接続または切断しても、出力ファイルに変更はありません。

しかし、i ps aux|grep test.shの場合、スクリプトが実行されていることを示しています。

1
mcv

私は答えを持っています。 Sudo wpa_cli -a /home/pi/test.sh -Bを使用してデーモンモードで実行すると、間違った出力ファイル(ホームディレクトリ内)をチェックしていました。エコーでは、ファイル出力の正しいパスについては触れていません。そのため、ルート/ディレクトリのファイルoutputにリダイレクトされます。

全てに感謝

1
mcv