如何检测物理插入驱动器的 CD

如何检测物理插入驱动器的 CD

如何尽快检测到 CD 已物理插入 CD 机械装置中? CD 会自动安装,但有时需要 20 秒 - 就在那时我才知道 CD 已插入......似乎没有事先通知我。

插入 CD 一秒钟后我就会很高兴地知道它确实在那里(我不在乎它是否安装)。

我尝试blkid /dev/sr0在插入 CD 时返回特殊值。但是这会阻塞,直到安装 CD 为止。

然后我尝试了ioctl之类的这里但它返回 CDS_NO_DISC,然后在安装 CD 后仅返回 CDS_DISC_OK(20 秒后)

/sys /proc 或 CD 插入的地方是否有某些文件?

我使用的是嵌入式 Linux..但我认为这并不重要 - 我正在运行内核 4.1.18

更新:

我们已经使用 udev 规则进行安装..但是触发此 udev 比检查安装的 CD 稍微快一点(快 2-3 秒,但仍然超过 10-15 秒)..这是规则:

KERNEL=="sr*", ACTION=="change", RUN+="/etc/udev/scripts/mount.sh", ENV{UDISKS_PRESENTATION_HIDE}="1", GOTO="automount_end"

相关内容