以下是/etc/udev/rules.d/10-autodvd.rules中的规则文件
SUBSYSTEM=="block", KERNEL=="sr0", ENV{ID_CDROM_MEDIA_DVD}=="1", ACTION=="change", RUN+="/usr/local/bin/makemkv.sh sr0"
SUBSYSTEM=="block", KERNEL=="sr1", ENV{ID_CDROM_MEDIA_DVD}=="1", ACTION=="change", RUN+="/usr/local/bin/makemkv.sh sr1"
SUBSYSTEM=="block", KERNEL=="sr2", ENV{ID_CDROM_MEDIA_DVD}=="1", ACTION=="change", RUN+="/usr/local/bin/makemkv.sh sr2"
SUBSYSTEM=="block", KERNEL=="sr3", ENV{ID_CDROM_MEDIA_DVD}=="1", ACTION=="change", RUN+="/usr/local/bin/makemkv.sh sr3"
SUBSYSTEM=="block", KERNEL=="sr4", ENV{ID_CDROM_MEDIA_DVD}=="1", ACTION=="change", RUN+="/usr/local/bin/makemkv.sh sr4"
实际上运行脚本似乎真的很受欢迎,有没有更好的方法呢?
1 回答
Udev在词汇上对规则文件进行排序,并且在应用规则时,
ID_CDROM_MEDIA_DVD
变量可能尚未设置 . 在默认安装systemd udev时就是这种情况 .ID_CDROM*
变量在60-cdrom_id.rules
中设置,因此您应该重命名规则文件以在此之后进行排序 .请注意,您不应该使用RUN =键启动长时间运行的程序 .
启动守护进程或其他长时间运行
过程不适合udev;该
分叉的进程,分离与否,将是
事件处理后无条件杀死
已完成 .
您的规则可以写成一条规则: