移除 USB 设备时,如何在 shell 脚本中触发事件?

Edu*_*scu 4 linux usb shell-script

当删除/添加特定的 USB 设备时,我需要执行一些操作。我需要毫秒级的快速响应。

如何在 shell 脚本中执行此操作?

Ric*_*chm 9

假设您使用的是支持 udev 的 Linux 发行版,并且您拥有 root/管理员访问权限,那么您可以使用 udev 规则来触发特定操作。

如果将以下示例添加到/etc/udev/rules.d/example.rules 中,那么当添加具有指定参数的块设备时,它将运行指定的脚本。

ACTION=="add", SUBSYSTEM=="block", ATTRS{manufacturer}=="HitachiGST", ATTRS{serial}=="31001206110000000000", RUN+="/a/script/to/run.sh"
Run Code Online (Sandbox Code Playgroud)

当我的 USB 硬盘插入并连接到块系统时,该特定规则就会执行。调整规则以匹配特定的低级别 USB 事件非常容易。

我发现Debian UDEV wiki 页面和Writing Udev Rules站点对于为我的情况制定正确的规则非常有帮助。