mdev 响应热插拔事件
热插拔事件是从内核空间发送到用户空间的通知,一般这时候系统配置出现了变化,比如插入/移除耳机,插入/移除SD卡或者USB存储设备等。
热插拔事件默认会调用/sbin/hotplug来加载驱动程序,创建设备节点等。
如果执行该动作的不是/sbin/hotplug,比如,很多都用mdev来做热插拔的处理,此时我们需要修改系统调用
方法如下:
echo /sbin/mdev > /proc/sys/kernel/hotplug
目的就是替换掉默认的/sbin/hotplug
同时我们还要配置/etc/mdev.conf, 改文件是给mdev使用的配置文件,目的是告诉mdev 热插拔时间产生的时候调用对应的工具来处理
比如如下:
sd[a-z][0-9] 0:0 666 @/etc/mdev/udisk_insert
sd[a-z] 0:0 666 $/etc/mdev/udisk_remove
mmcblk[0-9] 0:0 666 */etc/mdev/hotplug.sh
外设插入或者移除的时候mdev会创建或者删除对应的设备节点,然后根据设备节点名称匹配工具来善后,比如上面的
@ 表示设备添加的时候调用 @后面的工具来处理,
$ 表示设备移除的时候调用 $ 后面的工具来处理,
* 表示有设备的插拔事件(添加或者移除)发生时都调用该工具处理。
所以从脚本中我们可以看到如果有sda0~sda9 或sdz0~sdz9设备插入时调用/etc/mdev/udisk_insert处理
这应该是磁盘分区节点创建成功后会产生的事件,识别到磁盘分区后我们应该去挂载分区,这样上层用户才能使用该分区 udisk_insert应该就是用来挂载分区的
同理udisk_remove则是识别到磁盘移除后调用的工具
如果设备节点是mmcblk0~mmcblk9则调用/hotplug.sh工具
hotplu.sh如下
#!/bin/sh case $ACTION in
remove)
/etc/mdev/sdcard_remove
exit0
esac /etc/mdev/sdcard_insert
这是一个sdcard插入和拔出调用的工具,用来挂在卡和卸载卡
mdev 响应热插拔事件的更多相关文章
- Linux 内核热插拔事件产生
一个热插拔事件是一个从内核到用户空间的通知, 在系统配置中有事情已经改变. 无论何 时一个 kobject 被创建或销毁就产生它们. 这样事件被产生, 例如, 当一个数字摄像头 使用一个 USB 线缆 ...
- UI和3D场景同时都需要响应触摸事件
比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分.为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上. 以前NGUI的时候都是自己 ...
- onhashchange事件,只需要修改hash值即可响应onhashchange事件中的函数(适用于上一题下一题和跳转页面等功能)
使用实例: 使用onhashchange事件做一个简单的上一页下一页功能,并且当刷新页面时停留在当前页 html: <!DOCTYPE html><html><body& ...
- 控件如何在IDE中响应MouseDown事件
自己做了一个pagecontrol控件,点击page页可以切换,运行时没有问题,但在设计时控件放到窗体后好像不响应mouse事件,导致设计期不能切换page页,有知道的朋友还请不吝赐教,谢谢. CM_ ...
- uitableview的空白处不能响应 touchesbegan 事件
现在的uitableview 的上面 响应不了 touchesbegan 事件 可能算是苹果的一个bug吧,不知道以后会不会改变 今天试了好久 都不行 最后 写了个字类 继承自 ...
- 自己定义 ViewGroup 支持无限循环翻页之三(响应回调事件)
大家假设喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处,再次感谢 ################################ ...
- [置顶] 使用Android OpenGL ES 2.0绘图之六:响应触摸事件
传送门 ☞ 系统架构设计 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ GoF23种设计模式 ☞ 转载请注明 ☞ http://blog.csd ...
- Android ListView 无法响应onItemClick事件
当在布局文件中加入了Button.ImageButton.CheckBox.RadioButton等控件(也就是Button或者Checkable的子类控件)的时候,listView是无法响应onIt ...
- 【Android Developers Training】 67. 响应触摸事件
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
随机推荐
- RMQ区间最值查询
RMQ区间最值查询 概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A, 回答若干询问RMQ(A,i,j)(i,j<= ...
- 学习PHP弱引用的知识
之前的文章中,我们已经学习过引用和引用传值相关的知识.我们知道,PHP 中没有纯引用(指针),不管是对象,还是用引用符号 & 赋值的变量,都是对一个符号表的引用.而今天,我们要学习的是另一种引 ...
- symfony中模板生成路径两种方式
1. 使用url('route_a_b_c') 这种方式会是全路径 : http://www.test.com/a/b/c 2. 使用path('route_a_b_c') 这种方式只是路径: /a ...
- Jmeter系列(35)- 设置JVM内存
场景 单台机器的下JMeter启动较大线程数时可能会出现运行报错的情况,或者在运行一段时间后,JMeter每秒生成的请求数会逐步下降,直到为0,即JMeter运行变得很"卡",这时 ...
- contos 7修改root密码
https://www.linuxidc.com/Linux/2018-01/150211.htm 下面是CentOS 7的root密码修改 开机按esc 选择CentOS Linux (3.10.0 ...
- JMeter脚本开发
什么是jmeter脚本 用户操作系统的动作流程 用户操作系统的请求 类似演戏的剧本 怎么快速开发漂亮的jmeter脚本 准确 快速 漂亮,脚本逻辑清晰,维护性高 脚本开发方案 代理 http代理服务器 ...
- 一文让你彻底理解SQL连接查询
表结构 内连接 笛卡尔积问题 普通内连接:inner join on 隐式内连接: 外连接 内连接与外连接查询的区别 内连接查询是查询两张表交集的数据,主外键关联的数据. 左连接查询是查询左表中的所有 ...
- no rxtxSerial in java.library.path
java开发过程中,遇到no rxtxSerial in java.library.path问题,是由于缺少一个dll文件导致. 在jre/bin下添加rxtxSerial.dll 文件 win10环 ...
- genymotion启动模拟器后,sdk查询adb devices为空-解决方案
我们在genymotion中安装了一个安卓模拟器,比如Google Nexus 4,启动该模拟器后,在cmd中输入adb devices,发现为空. 解决方案:在genymotion选择Setting ...
- WPF进阶技巧和实战03-控件(5-列表、树、网格01)
列表控件 ItemsControl为列表项控件定义了基本功能,下图是ItemsControl的继承关系: 在继承自ItemsControl类的层次结构中,还显示了项封装器(MenuItem.TreeV ...