使用libudev获取Linux中挂载驱动器的信息
Getting information on mounted drives in Linux with libudev
我使用libudev来监视存储设备(usb密钥等),以便当它们被修改时,我在程序中得到通知。Libudev告诉您设备是否被添加、删除等,并给您设备节点。例如,如果我在系统中添加了一张SD卡,libudev会告诉我添加了"/dev/mmcblk0p1"。当这种情况发生时,我也想获得设备的挂载点。因此,我检查/proc/mounts以查看设备映射到的挂载路径。
虽然这似乎可以正常工作,但我不确定libudev是否在挂载设备之前,在挂载设备之后或介于两者之间的某个地方向我发送设备已添加的信号(这意味着我在获得信号后立即检查/proc/mounts文件是一种不可靠的方法)。
所以我的问题是有没有人知道libudev何时发送信号,以及我用来获取设备挂载路径的方法是否可靠?
如果不是,是否有其他方法可以获得可靠的设备节点的挂载路径?
问候,
取了
我不能保证,但我正在做一些非常相似的事情,它似乎也适用于我。我监听块/磁盘添加事件,找到相应的块/分区设备,然后解析/proc/mounts寻找dev节点。
您只想获取挂载路径吗?还是要将该存储设备挂载到特定的挂载点?如果要将存储设备挂载到特定路径上,则不需要捕获信号。您可以为特定设备定义规则。你可以在etc/udev/rules中定义这些规则。d文件。
您可以登录http://www.reactivated.net/writing_udev_rules.html获取更多信息。
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- 如何设置一个范围来提取我想要获得的信息
- 系统参数信息A 与 SPI_GETMOUSE 返回 0
- 为什么 gcovr 会生成空覆盖率统计信息?
- 在QTreeView中仅显示共享驱动器和文件夹
- 我已经阅读了很多关于 2d 数组的信息,但我在作业中使用它时遇到了麻烦
- 将信息输入到下面显示的结构向量中的正确语法/格式是什么
- 调试符号中缺少 QObject 类信息(编辑但存在其他 Qt 类)
- 为什么数组大小信息可用于"sizeof"运算符和 delete[] 运算符,但在将数组作为参数传递到
- Pisarze - 来自波兰奥林匹克信息学的数据分析任务
- 将数组信息存储到 c++ 向量中有一个"Access violation reading location"
- C++20 个模块在 clang (Windows):在最简单的示例中键入信息错误
- C++ 如何暂停控制台输出,以便用户可以在继续之前阅读信息
- C++Win32 有关所有驱动器的信息:硬盘驱动器、USB 驱动器、光盘驱动器、软盘驱动器等
- 如何获取有关设备驱动器的信息
- 在DOS 7.x中获取大型驱动器结构信息
- 使用libudev获取Linux中挂载驱动器的信息