我目前正在使用udev来检测我的应用程序中的USB热插拔事件,但据我所知它是一个轮询过程,它需要一个线程连续监视内核uevent。 有没有办法让内核通过中断通知我,或者只要检测到热插拔事件就会向我的进程发出信号?
由于
答案 0 :(得分:0)
首先编写一个udev规则来识别设备并在该设备连接到主机时运行脚本(操作)。
$ udevadm info -a -n / dev / ttyUSB0
现在制作一个文件 - /etc/udev/rules.d/99-usbdev.rules,内容如下。
SUBSYSTEM ==" tty",ATTRS {idVendor} ==" xxxx",ATTRS {idProduct} ==" xxxx", ATTRS {产品} ==" USB转UART桥控制器", RUN + =" /usr/bin/devattached.sh"
重新加载udev规则和服务:
$ udevadm control --reload-rules
$ systemctl restart udev.service
调试:如果udev规则不起作用!!
udevadm monitor --udev