例如,如果我以这种形式编写规则:
ACTION=="remove", GOTO="serial_end"
SUBSYSTEM!="tty", GOTO="serial_end"
KERNEL=="ttyUSB[0-9]*", RUN+="/<path-to-my-script>/myscript.sh %k"
LABEL="serial_end"
然后,当我连接USB设备时tty
,我将能够得到它的名称,即安装该设备的目录/dev/ttyUSB*
。
如果我想在 C 程序中监视连接,如何才能准确地找到这个名称?
dmesg
允许我看到设备并立即看到内核在 中创建的两个端口/dev
。有没有一个 API 可以让我在 C 中看到这个?
我尝试使用该udev
库,但它定义的设备位于bus/usb/...
,但我需要驱动程序创建的串行端口的名称 - ttyUSB*
。
PS 或者是否有可能以某种方式从库下找到这个名称udev
,知道该设备位于例如此处/dev/bus/usb/002/047
?