2017-04-21 17 views
-1

ruby-dbus가 올바른 해결책 일 수 있다고 생각합니다. 그러나 저장 장치가 Linux 컴퓨터에 연결될 때마다 실시간으로 감지하는 방법의 예를 찾을 수 없습니다. 누구나 그런 예가 있습니까?Linux에서 Ruby를 사용하여 실시간으로 USB 저장소 탐지를 수행하는 방법은 무엇입니까?

+0

"[ask]"를 읽으십시오. 우리는 off-topic 리소스를 추천 해달라고 요청하고 있습니다. –

+0

저는 Linux에서 Ruby를 사용하여 실시간 USB 저장 장치 탐지를 수행하는 방법을 묻습니다. 약간의 샘플 코드는 훌륭합니다. –

답변

0

당신이 취할 수있는 다양한 접근법이있는 것처럼 보입니다.
Here's a Ruby implementation I foundlibusb과 Ruby FFI로 연결됩니다. libusb를가 핫 플러그 ​​알림을 지원하는

은 무엇 이것에 대해 좋은 것은, 그래서 이것은 당신이 필요하지 뭔가 수 :
http://libusb.sourceforge.net/api-1.0/hotplug.html

libusb Ruby docs에서 :

장치 핫 플러그 ​​지원

LIBUSB.has_capability?(:CAP_HAS_HOTPLUG)이 true를 반환하는 경우 장치 핫 플러그 ​​지원이 지원됩니다. Linux 또는 MacOS에서는 libusb-1.0.16 이상이 필요합니다. Windows 지원은 아직 진행 중입니다.

핫 플러그 ​​이벤트 핸들러는 {LIBUSB::Context#on_hotplug_event}과 같이 등록 될 수 있습니다. 이벤트를 받으려면 {LIBUSB::Context#handle_events} (으)로 전화해야합니다. 이것은 블로킹 호출 (아마도 자신의 스레드) 또는 {LIBUSB::Context#pollfds}을 사용하여 처리 할 이벤트를 감지하여 수행 할 수 있습니다.

+0

고맙습니다. libusb에 hotplug 지원이 있다는 것을 몰랐습니다. 완벽합니다! –