C의 udev 모니터는 신호를 수신할 때 USB 드라이브를 마운트합니까?

C의 udev 모니터는 신호를 수신할 때 USB 드라이브를 마운트합니까?

USB 드라이브가 C 프로그램에 연결된 시기를 감지하기 위해 libudev를 사용하고 있습니다. udev_monitor커널의 신호(구조체를 통해)를 통해 연결 되었음을 감지하면 systemd가 드라이브를 마운트했다고 가정할 수 있습니까?

그렇지 않은 경우 드라이브가 결정적으로 마운트될 때까지 어떻게 기다릴 수 있습니까? 즉, X초의 임의 시간을 기다리지 않고 특정 이벤트를 기다릴 수 있습니다.

답변1

USB 장치 연결 이벤트를 수신하는 것이 아니라 마운트 지점 연결 이벤트를 수신하는 것이 더 나은 것으로 나타났습니다. 즉, "usb" 하위 시스템 및 "usb_device" devtype을 필터링하는 대신 "block" 하위 시스템 및 "partition" devtype을 사용한 다음 이벤트에 ID_BUS="usb"가 포함되어 있는지 확인하세요.

관련 정보