如何在Linux上使用Ruby实现实时usb存储检测?
我认为ruby dbus可能是正确的解决方案,但我似乎找不到任何关于如何在存储设备连接到Linux机器时进行实时检测的示例。有人举过这样的例子吗?你可以采取很多不同的方法。如何在Linux上使用Ruby实现实时usb存储检测?,ruby,linux,dbus,libusb,Ruby,Linux,Dbus,Libusb,我认为ruby dbus可能是正确的解决方案,但我似乎找不到任何关于如何在存储设备连接到Linux机器时进行实时检测的示例。有人举过这样的例子吗?你可以采取很多不同的方法。 通过Ruby FFI链接到libusb 这样做的好处是libusb支持热插拔通知,因此这可以满足您的需要: 从: 设备热插拔支持 如果LIBUSB.has\u功能(:CAP\u has\u HOTPLUG)返回true,则可以使用对设备热插拔的支持。这需要Linux或MacOS上的libusb-1.0.16或更新版本。Wi
通过Ruby FFI链接到
libusb
这样做的好处是libusb支持热插拔通知,因此这可以满足您的需要:从: 设备热插拔支持 如果
LIBUSB.has\u功能(:CAP\u has\u HOTPLUG)
返回true,则可以使用对设备热插拔的支持。这需要Linux或MacOS上的libusb-1.0.16或更新版本。Windows支持仍在进行中
热插拔事件处理程序可以注册到{LIBUSB::Context}on_hotplug_event
}。然后需要调用{LIBUSB::Context#handle_events
}以接收任何事件。这可以通过阻止调用(可能在它自己的线程中)或使用{LIBUSB::Context}pollfds
}来检测任何要处理的事件来完成
请读“。您要求我们推荐非现场资源,这是离题的。我不是,我是问如何在Linux上使用Ruby实现实时usb存储检测。一点示例代码就好了。谢谢你,我不知道libusb有热插拔支持,太完美了!