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