当前位置: 技术问答>linux和unix
关于linux下编程如果处理设备在使用过程被卸去的问题
来源: 互联网 发布时间:2016-04-12
本文导语: 我有一个USB设备,要读取该设备的数据处理 open,然后读写,但是如果设备在open以后被拔掉,文件描述符还是可以读写~~~ 如何判断设备被拔掉了呢? WIDOWNS下有信号广播,LINUX下有没有呢? | 这是驱动...
我有一个USB设备,要读取该设备的数据处理
open,然后读写,但是如果设备在open以后被拔掉,文件描述符还是可以读写~~~
如何判断设备被拔掉了呢?
WIDOWNS下有信号广播,LINUX下有没有呢?
open,然后读写,但是如果设备在open以后被拔掉,文件描述符还是可以读写~~~
如何判断设备被拔掉了呢?
WIDOWNS下有信号广播,LINUX下有没有呢?
|
这是驱动的工作,设备被拔掉了,下次读写肯定失败,可以根据errno值来判断。
|
我一般都这样 用select 判断超时,如果没数据,那么会在指定时间超时,而如果直接是设备完蛋的话select会立刻返回,而不是超时。
|
read 返回 0 标识EOF end of file ,文件已经终止,TCP连接也是这样的,远程断开了,read也返回0。
|
用lsusb 查看在进行判断吧·~
|
在每次读写之前open()读写完了在close().这样不就可以检测了么?
|
加载后会不会以文件的方式存储在内存的某个地方引起的