在Linux中检测CDROM介质删除和插入的最简单方法是什么?我想写一些简单的代码来处理这个问题。例如,只需绑定一个媒体插入事件并实现处理程序。
谢谢!
答案 0 :(得分:2)
尝试man udev
或man hotplug
。
答案 1 :(得分:1)
桌面“标准”有此选项。
例如,我认为Gnome使用dbus:
http://www.linuxcertification.co.za/linux-training-sysfs-udev-hald-dbus
[..]这些应用程序主要用于桌面环境,以便在发生事件时执行任务,例如在插入USB驱动器时打开文件浏览器或插入相机时的图像应用程序。
例如,D-Bus用于在插入音频CD时启动媒体播放器,并通知其他应用程序当前播放的歌曲。
你可以让你的桌面shell(例如Gnome / nautilus)在偶数事件发生时调用你的应用程序:
http://library.gnome.org/users/user-guide/stable/gosnautilus-61.html.en
对于非桌面版本,man udev
确实是您的朋友。关于编写udev规则的信息在这里:
答案 2 :(得分:0)
从用户空间最简单的方法是grep mount命令的输出,只要你已经为自动挂载配置了CDROM(在/etc/fstab中)。但是如果你想要一个异步通知,你可能需要看看进入udev规则和uevents。