我编写了一个用户空间应用程序,它基本上只是通过hidraw模块连续循环读取自定义HID设备。我想从设备读取传入数据,处理该数据,然后根据处理过的数据将用户输入事件注入用户输入流,以便设备可用于控制指针并模拟自定义击键组合。我写了一个udev规则,以便当我的设备通过USB插入PC时,应用程序自动启动并在后台运行。除了使用大约10分钟后随机崩溃的事实外,我的一切工作都很顺利。我设置了一个日志进程,该进程只包含将状态语句打印到日志文件中,当我在应用程序崩溃后检查它时,看起来应用程序在将行打印到日志文件的过程中崩溃了。这就像应用程序被赶出了cpu / kill但我不确定为什么,如何或通过什么。我觉得我只是在我面前遗漏了一些明显的东西,但我无法弄清楚它是什么。我已尝试使用具有相同结果的单独读取线程。有什么想法吗?