插入 USB 设备时获取挂载点 Mac OS X 和 Linux
我正在尝试在 Mac OS 和 Linux 中开发一个程序,列出 USB 驱动器中的文件和文件夹。我需要获取连接和删除 USB 设备时的一些事件。我知道在 Mac OS XI 中可以使用 IOKit。但不知道如何获取设备挂载的挂载点。我可以使用 IOkit 获取它吗?有没有针对Linux和Mac的跨平台解决方案?
I am trying to develop a program in Mac OS and Linux which lists the files and folders in USB drive. I need to get the some events when USB device is connected and removed. I know that in Mac OS X I can use IOKit. But I do n't know how to get the mount point where the device is mounted. Can I get it using IOkit? Is there any cross platform solution for Linux and Mac?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我用于获取可用安装点(使用 Java)的方法将“system_profiler SPUSBDataType -xml”命令的输出通过管道传输到 dd-plist 处理器。随后它在 USB 层次结构上递归,匹配具有“卷”键的那些。对于此数组中的每个项目,检索“mount_point”键以检索其安装位置。请参阅下面的代码示例:
The approach I used for getting the available mount-points (with Java) pipes the output of the "system_profiler SPUSBDataType -xml" command to dd-plist processor. It subsequently recurses over the USB hierarchy, matching those having a "volumes" key. For each item in this array, retrieve the "mount_point" key to retrieve the location where it is mounted. See the code sample below:
不,没有。在 Linux 下,您可以使用 HAL 或 DeviceKit 磁盘 D-Bus 接口。请注意,这些是可选组件,可能不存在。 HAL 较旧,DeviceKit-disks 是较新的实现,DK-d 取代了 HAL。
No, there isn't. Under Linux you may use HAL or DeviceKit-disks D-Bus interfaces. Note those are optional components and may be absent. HAL is older and DeviceKit-disks is newer implementations, with DK-d replacing HAL.