我有两条规则,一条用于设备(我的手机)连接时,一条用于设备断开连接时。添加规则运行,删除规则不运行。这是我的 udev 规则。我简化了,但删除事件不运行。
#RUNS:
KERNEL=="sd?1", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ff9", SYMLINK+="phone", ACTION=="add", RUN+="/usr/bin/touch /tmp/udev.add"
#DOES NOT RUN:
KERNEL=="sd?1", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ff9", SYMLINK+="phone", ACTION=="remove", RUN+="/usr/bin/touch /tmp/udev.remove"
为什么一个能跑,而另一个不跑?
答案1
您将需要按照此处概述的方式重构您的删除规则:http://www.linuxquestions.org/questions/linux-desktop-74/udev-not-doing-remove-rules-841733/
总结链接内容,看来一旦设备被移除,它的某些属性就不再可读,因此您必须监视设备移除并重点关注用 转储的属性udevadm monitor --environment --udev
。
此外,在删除过程中创建符号链接是完全错误的。