ドライブに物理的に挿入された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"

ベストアンサー1

おすすめ記事