드라이브에 물리적으로 삽입된 CD를 감지하는 방법

드라이브에 물리적으로 삽입된 CD를 감지하는 방법

CD가 CD 메커니즘에 물리적으로 삽입되었는지 최대한 빨리 감지하려면 어떻게 해야 합니까? CD가 자동으로 마운트되지만 때로는 20초가 걸릴 때도 있습니다. 이때 CD가 삽입되었다는 것을 알 수 있습니다... 사전에 알리지 않은 것 같습니다.

CD를 넣은 지 1초 만에 CD가 실제로 거기에 있다는 사실을 알게 되어 기쁩니다(설치되어 있는지는 상관없습니다).

blkid /dev/sr0CD를 넣었을 때 특별한 값을 반환하려고 합니다 . 그러나 이는 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"

관련 정보