Linux 下监控USB设备拔插事件

Linux 下监控USB设备拔插事件

原文链接:添加链接描述

使用udev的规则来实现

自2.6 核心开始,就可以使用udev 协助管理系统中各设备名称。例如,磁盘设备排序、网卡设备排序等。udev能动态地在/dev目录里产生自定义的、标识性强的设备文件或设备链接。udev依赖内核中的sysfs的支持。 自2.6 内核开始,引入了sysfs 文件系统。sysfs把连接在系统上的设备和总线组织成一个分级的文件,并提供给用户空间存取使用。udev 运行在用户模式,而非内核中。udev的初始化脚本在系统启动时创建设备节点,并且当插入新设备——加入驱动模块——在sysfs上注册新的数据后,udev会创新新的设备节点。

udev 是一个工作在用户空间的工具,它能根据系统中硬件设备的状态动态的更新设备文件,包括设备文件的创建,删除,权限等。这些文件通常都定义在/dev

目录下,但也可以在配置文件中指定。udev 必须内核中的sysfs和tmpfs支持,sysfs 为udev 提供设备入口和uevent 通道,tmpfs

为udev 设备文件提供存放空间。

注意,udev 是通过对内核产生的设备文件修改,或增加别名的方式来达到自定义设备文件的目的。但是,udev

是用户模式程序,其不会更改内核行为。也就是说,内核仍然会创建sda,sdb等设备文件,而udev可根据设备的唯一信息来区分不同的设备,并产生新的设备文件(或链接)。而在用户的应用中,只要使用新产生的设备文件即可。

udev 的工作流程图:

相关实例如下:

在/etc/udev/rules.d文件夹下创建相关规则文件,内容如下:

当插入设备(ACTION==“add”)在kernel中设备名为sdb4(KERNEL==“sdc1”),且为块设备(SUBSYSTEM==“block”),满足以上三个条件时,对设备文件命名为Myusb(NAME=“Myusb”),并创建软链接Myusb_link(SYMLINK+=“Myusb_link”),同时执行/home/usbadd.sh脚本(RUN+="/home/usbadd.sh")。

其中sdc1就是通过fdisk

-l查看得到的,软链接会在/dev下创建,名字可以自定义(以后无论插入任何u盘都可以以同一名字来访问),usbadd.sh脚本中可以编写你想实现的任何内容,我的内容是将u盘挂载到/mnt/usb目录下:

当设备拔出时,运行/home/usbremove.sh脚本卸载u盘:

Linux 下监控USB设备拔插事件相关教程

linux usb拔出防止抖动,Linux 下监控USB设备拔插事件相关推荐

  1. linux u盘插入事件,Linux 下监控USB设备拔插事件

    Linux 下监控USB设备拔插事件 发布时间:2018-01-29 00:00, 浏览次数:1111 , 标签: Linux USB * 使用Netlink来实现 这是一个特殊的socket,可以接 ...

  2. Linux 下监控USB设备拔插事件

    使用Netlink来实现 这是一个特殊的socket,可以接受来自内核的消息 代码如下: 运行结果如下: 当有USB设备插入时: 当有USB设备拔出时: 2.使用udev的规则来实现 自2.6 核心开 ...

  3. linux安卓usb网络,[原创]在多种系统下通过USB连接android手机上网

    基于三种系统:linux (for raspberry pi) windows 7 windows xp 首先,讲一下关于手机,从功能上分为两种: 第一:把手机当成无线网卡,手机连接了无线网络后,通过 ...

  4. 计算机网络电缆被拔出是怎么办,网络电缆被拔出是什么意思?网络电缆被拔出的修复办法...

    有时候我们在使用电脑的时候,会遇到"网络电缆被拔出"从而导致电脑断网的情况,而且这种提示可能经常会碰到.那么这种网络电缆被拔出是什么意思,又该如何解决呢?以下百事网小编为大家详细介 ...

  5. linux下监控usb自动挂载

    挂载路径自己修改即可: U盘挂载部分: #include "checkudisk.h"checkUdisk::checkUdisk(QObject *parent): QObjec ...

  6. linux火狐弹出框乱码,Linux系统下火狐浏览器页面出现乱码怎么办?

    Linux系统下火狐浏览器页面出现乱码怎么办呢? 1.由于 firefox 默认是允许网页自己选择字体,在 Linux 上便会出现部分网站的乱码情况.因此可以取消允许页面自己选择字体这个选项便能解决部 ...

  7. linux 触摸屏在dev的那个目录下,各硬件设备在Linux中的文件名

    原标题:各硬件设备在Linux中的文件名 选择好你的硬件设备以后,接下来得要了解一下各硬件在Linux当中扮演得角色.再次强调一下:"在Linux系统中,每个设备都被当成一个文件来对峙&qu ...

  8. linux sed 找出前后三行,Linux Sed 使用示例

    环境:CentOS 鉴于语句描述苍白无力,用例子直接说明. mytxt文件内容: zilzhang 19881110 jiangxi 18 film zhagnsan 21321    sichuan ...

  9. usb接口供电不足_Win7系统下电脑USB供电不足的解决方法

    关注奕奇科技,学习更多小妙招,工作效率加倍小妙招,值得收藏 笔记本主板USB供电不足的现象可以解释成两种情况:第一种是笔记本使用电池的时候会自动切换到较低的功耗,最大的电流标准是500mA,电压是5V ...

  10. 服务器网络显示网线拔出,本地连接正常但经常显示网线拔出怎么办? 爱问知识人...

    此方案适用XPVISTAWIN7系统 [问题描述]: 宽带拨号连接错误报错提示 [解决方案:]: 错误:676 问题:电话占线 原因:BAS上保留了用户在线数据或用户系统(主要是网卡)故障 解决:BA ...

最新文章

  1. LeetCode简单题之最后一块石头的重量
  2. ipad连接电脑_Ipad已经停用需要连接iTunes的一种解决方案,
  3. 【浅谈数据结构】《数据结构》Data Structure
  4. python cookbook 自营_Python Cookbook总结 7-8 章
  5. int与byte转换(四字节)
  6. [ZJOI2006]超级麻将
  7. JavaScript刷新页面,不重复提交
  8. 软件工程类图_软件工程系列-UML3
  9. Switching命令大全
  10. hadoop合并日志_Hadoop深入学习:HDFS主要流程——SNN合并fsimage和编辑日志
  11. 计算机图形学 dda,计算机图形学直线DDA算法和Bresenham算法精选.doc
  12. 【Spring练习】Spring+SpringMVC+JdbcTemplate简单练习用户管理
  13. 2011新版车主宝典改进亲体验(Android版)
  14. mysql创建/编辑表时的 ROW_FORMAT = Dynamic 和 Compact 有什么区别
  15. R语言绘制股票K线图
  16. 论文初稿写到什么程度才算合格?
  17. WMP专辑封面显示不正常的问题(更新问题真实原因及完美解决方法)
  18. zookeeper疑难杂症
  19. 常用Linux命令大全(100%收藏食用❤️)
  20. Armadillo使用介绍(十二):fft / ifft

热门文章

  1. oracle查询特殊字符-escape
  2. 浅析MySQL中exists与in的使用
  3. 一些Gym三星单刷的比赛总结
  4. 智能安防系统如何防火、防盗、防煤气?
  5. 程序员居然都玩起“直播”,你的好友工程狮已经上线!
  6. zabbix企业应用之low level discovery监控memcache
  7. 题目1544:数字序列区间最小值
  8. 八、IO优化(7)减少IO竞争
  9. OOAD-设计模式-外观模式
  10. ExtJS4系列目录