我正在编写一个 C/C++ 工具,需要执行以下操作:
- 检测何时安装了新的安装点。 ✔
- 找出哪个(USB)设备提供此挂载点。❓
- 获取该设备的 USB 供应商 ID 和产品 ID。 ✔ - libusb
我不确定如何使用 GNU/Linux 提供的接口来完成任务 2。请注意,我对使用任何命令行工具不感兴趣 - 我正在编写一个应用程序并且需要使用操作系统接口。
到目前为止,我已经考虑过使用/proc/{pid}/mountinfo
(这是我用来检查安装是否已更改的方法),但它似乎不允许我跟踪哪个设备提供了此安装点。
任何帮助,将不胜感激。
答案1
答案2
/proc/{pid}/mounts
显示设备。获取主要和次要 ID,然后 /sys/dev/block/{major}:{minor}
是 USB 设备的符号链接。