Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用USB驱动程序注册用户空间回调功能_Linux - Fatal编程技术网

Linux 使用USB驱动程序注册用户空间回调功能

Linux 使用USB驱动程序注册用户空间回调功能,linux,Linux,如何在Linux中为大容量存储设备的USB驱动程序注册用户空间回调功能? 当连接U盘时,我在控制台上收到以下消息 usb 1-1:使用ehci_hcd和地址2的新型高速usb设备 usb 1-1:产品:DataTraveler G2 usb 1-1:制造商:金斯顿 usb 1-1:序列号:0019E06B07F7A961877C02A9 usb 1-1:配置#1从1个选项中选择 scsi0:USB大容量存储设备的SCSI仿真 scsi 0:0:0:0:直接访问金斯敦DataTraveler G2

如何在Linux中为大容量存储设备的USB驱动程序注册用户空间回调功能?
当连接U盘时,我在控制台上收到以下消息

usb 1-1:使用ehci_hcd和地址2的新型高速usb设备
usb 1-1:产品:DataTraveler G2
usb 1-1:制造商:金斯顿
usb 1-1:序列号:0019E06B07F7A961877C02A9
usb 1-1:配置#1从1个选项中选择
scsi0:USB大容量存储设备的SCSI仿真
scsi 0:0:0:0:直接访问金斯敦DataTraveler G2 1.00 PQ:0 ANSI:2
SCSI设备sda:7818240 512字节hdwr扇区(4003 MB)
sda:写保护已关闭
sda:假设驱动器缓存:直写
SCSI设备sda:7818240 512字节hdwr扇区(4003 MB)
sda:写保护已关闭
sda:假设驱动器缓存:通过sda写入:sda1
sd 0:0:0:0:连接的scsi可移动磁盘sda

sd 0:0:0:0:0:附加scsi通用sg0类型0

您可以创建
udev
规则,该规则在插入命令时执行命令。基本上,您可以创建一个包含一组匹配规则的文件,以及要运行的程序/脚本的路径。它看起来像这样:

KERNEL=="sd?1", ATTRS{serial}=="0019E06B07F7A961877C02A9", RUN+="/path/to/script arg1 arg2 ... argN"
当创建名为
sd?1
的设备节点时,将使用参数
arg1
to
argN
运行
/path/to/script
,其中
是数据中给定的序列号的任意字符。如果您需要更好地控制何时触发,可以从
udevinfo
程序中获取大量信息,并将其纳入规则中。比如说,如果你想让它为所有的金斯敦硬盘开火。然后,您需要找到vendorID,也许还需要一些这些驱动器特有的更多信息