私のudevルールが機能しないのはなぜですか?

私のudevルールが機能しないのはなぜですか?

/var/www/html/configWWWUSBがRaspberryに接続されたら、自動的にスクリプトを実行する必要があります。

UDEVルール -/etc/udev/rules.d/myRule.rules

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="****",
ATTR{idProduct}=="****", RUN+="/var/www/html/configWWW"

私のスクリプト -/var/www/html/configWWW

#!/bin/bash
file="/media/pi/USB/SymSif.xml"
if [ -f "$file" ]
then
        (
        echo "it works: $(date)" >> /home/pi/Desktop/test.txt
        )
else
        (
        echo "it does not works: $(date)" >> /home/pi/Desktop/test.txt
        )
fi

一方、bashでスクリプトを実行すると/var/www/html/configWWW機能します!

私のudevルールが私のbashコマンドのように動作しないのはなぜですか?

ベストアンサー1

後続のudevイベントによってスクリプトが中断されるという同様の問題がありました。解決策はバックグラウンドで開始することです。

ACTION=="add", KERNEL=="sd[a-z][0-9]*", RUN+="/sbin/start-stop-daemon -Sqb -x /path/to/myScript.py"

おすすめ記事