文档章节

openwrt下检测U盘是否插入

何凯峰
 何凯峰
发布于 2015/10/19 22:48
字数 345
阅读 76
收藏 0

  Linux的文件系统是异步的,也就是说写一个文件不是立刻保存到介质(硬盘,U盘等)中,而是存到缓冲区内,等积累到一定程度再一起保存到介质中。如果没有umount就非法拔出U盘,程序是不知道的,fopen,fwrite等函数都依然返回正确,知道操作系统要把写介质的时候,才会提示I/O错误。可是很多数据都会因为这个不及时的错误报告而丢失。

    事实上,USB驱动程序在U盘插入和拔出时,都对系统配置文件做了修改。

    例如U盘驱动程序会在插入或拔出时往 /proc/scsi/usb-storage-0/0 里面记上 Attached:Yes or No

    通过查看这个文件就不难检测U盘是否插入或拔出了。

    注意:U盘是否插入的状态与是否挂载(mount)无关。


上面是针对linux的

在OpenWrt下, 在目录下/proc/scsi/usb-storage,

会出现0,1这样的文件。

可以cat 一下 :cat /proc/scsi/usb-storage/0

如果,没有U盘插入,则对应的0,1文件是不会存在的。

因此可以以此判断U盘是否插入。


© 著作权归作者所有

共有 人打赏支持
何凯峰
粉丝 3
博文 16
码字总数 4528
作品 0
高级程序员
私信 提问
把路由器改装成git服务器(OpenWRT环境的GIT服务器搭建)

在单位中,通常都标配了git服务器用来管理代码。 对于家庭或者小办公室,这种方式有点不经济。当然如果是开源项目就简单了,刚刚被微软收购的github是理想选择。但如果没有打算开源,我今天的...

俺踏月色而来
08/06
0
0
OpenWrt系列教程汇总 & OpenWrt简体中文Wiki

OpenWrt系列教程汇总 OpenWrt简体中文Wiki 快速导航

AlphaJay
2011/07/26
0
1
OpenWrt 和 LEDE 宣布正式合并,名字沿用 OpenWrt

2017 年 5 月,我们曾报道过 OpenWrt 和 LEDE 项目正在讨论合并,现在,二者已在官网正式宣布合并,合并后的项目仍用 OpenWRT 命名。合并后的 OpenWrt 项目将按照 LEDE 制定的规范进行管理。...

王练
01/05
4.7K
13
从0开始,制作Cubie版OpenWRT(功能齐全,大小仅有11M)

大家说,从0开始制作系统真是太难了,有失败的,有放弃的。 好吧,给大家一种简单的buildroot的方式,那就是,使用OpenWRT 目前Openwrt对Cubietech的产品已经算大部分支持了,不过官网上还叫...

cubieboard
2014/08/20
0
0
玩转小米路由器先从pcDuino的OpenWrt系统开始

小米路由器发布颠覆了路由器的定义,就像当初乔布斯发布没有键盘的iphone一样。玩家们都知道小米为发烧友而生,玩家都知道小米路由器使用的深度定制的OpenWrt系统,然而对于很多玩家来说,对...

simpower
2014/11/17
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
今天
10
0
RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
16
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
10
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部