如何编程自动感知U盘的插入?

发布于 2022-07-18 14:03:23 字数 97 浏览 15 评论 6

Linux的U盘自动mount是通过HAL daemon, d-bus发出消息,由GNOME Volume Manager或KDE守护程序自动mount的。但是如果我编程是怎样感知有U盘插入呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

娇柔作态 2022-07-28 03:50:41

那就可以把d-bus, hal都卸载掉,自己写程序使用hotplug机制

风尘浪孓 2022-07-27 23:12:01

我写过一个,就是写个监控程序,扫描/proc目录下文件的变化,就可以实现设备的自动挂载,没出什么错,不知道还有什么其他简单的方法

深爱不及久伴 2022-07-27 19:48:54

Gamin is a file and directory monitoring system defined to be a subset of the FAM (File Alteration Monitor) system. This is a service provided by a library which allows to detect when a file or a directory has been modified.

不回头走下去 2022-07-27 16:47:59

hotplug 是内核的一部分,在设备插入或拔出时,自动进行配置内核状态。udev 是 hotplug 的一部分,负责维护动态的 /dev 目录,使 /dev 目录的内容与当前系统状态一致。D-BUS 可以在应用程序之间传送消息,例如可以把“连接上一台打印机”的消息发送给 HAL。HAL 可以集成多种来源的信息,包括内核消息,配置文件等等,然后根据 D-BUS 的消息进行操 作。gamin 是改进的文件状态监视程序。
例如插入优盘。hotplug 自动加载需要的模块,udev 创建相应的 /dev/sda1 等等节点,hotplug 向 HAL 发消息,HAL 收到消息后,根据配置文件,它运行 fstab-sync 来修改 fstab,创建 /media 的子目录作为挂载点。gamin 检测到 fstab 发生变化之后,通知桌面系统。桌面系统在 “计算机” 项目中建立驱动器图标。
在拔出优盘时,与上面的过程类似,模块被卸载,设备文件被删除,fstab 中相应条目被删除,/media 目录下的挂载点也被删除了。

柒夜笙歌凉 2022-07-27 15:14:14

难道不是用hotplug机制了吗?

无人接听 2022-07-26 01:01:35

linux已经用autofs代替了amd进行automount

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文