当开发节点有数据可用时是否可以触发事件?非常简单,如果某个小部件设备通过 USB 将信息发送到我的 Linux 机器,是否有可能陷入某个事件处理程序,该事件处理程序会生成一个进程来对数据执行某些操作?
当然,我总是可以运行一个等待传入数据的服务,但我只是想看看有哪些选项可用。
另外,如果开发节点上没有任何监听,那么从外部写入该节点的数据会发生什么情况?是否有缓冲?多长时间?
我的设备是串行转换器桥。它在 下注册自己/dev/ttyUSBx
。我可以毫无问题地读取传入的数据或从任一端写入数据。我猜司机的类型只是路过。我只是想知道我是否可以注册某种要执行的脚本之类的。或者至少是某种回调函数。尽管如此,在这一点上我想我也可能选择编写自己的后台服务来执行此操作。
答案1
每种类型的 USB 设备都以自己的方式发送数据。由驾驶员决定如何处理数据。
对于通过串行设备发送的数据,只需从 读取。/dev/ttyUSBn
</dev/ttyUSB0 awk '
{data += $0}
/record end/ {print $0 | "process-one-record #" NR}
'