Udev RUN 规则运行 touch 没有效果

Udev RUN 规则运行 touch 没有效果

我创建了以下文件

$ cat /etc/udev/rules.d/10-tuned.rules 
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Charging", RUN+="touch /home/fx/charg"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Discharging", RUN+="touch /home/fx/disc"

但如果我连接或断开电源线,则不会创建任何文件。创建这个文件后我执行了

sudo udevadm control --reload-rules

用于规则重新加载。我做错了什么?

答案1

我更改touch/usr/bin/touch并且有效。该指令需要可执行文件的完整路径RUN(否则可执行文件必须位于/lib/udev):

SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Charging", RUN+="/usr/bin/touch /home/fx/charg"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Discharging", RUN+="/usr/bin/touch /home/fx/disc"

相关内容