libudev监视器,在KERNEL上过滤

时间:2014-06-29 23:19:51

标签: c linux udev

实时我想打印硬盘上的热插拔事件。我的代码会打印出正确的" devtype"(" disk")和"子系统"(" block")的所有事件。然而,这包括我不关心的设备,如循环设备,cdrom设备等我只关心原始磁盘(例如/ dev / sda而不是像/ dev / sda1这样的分区)。有没有办法在libudev中过滤类似的东西?在udev规则中,这被称为" KERNEL"。本质上,我希望显示所有符合udev规则的新设备:

KERNEL=="sd*", ENV{DEVTYPE}=="disk"

这只会匹配原始磁盘。喜欢/ dev / sda。

现在我的程序可以使用

与devtype和子系统匹配

udev_monitor_filter_add_match_subsystem_devtype(mon, "block", "disk");

libudev电话。

现在这仍然打印出对我不想要的设备(如/ dev / loop *或/ dev / sr *)的更改。

有没有办法在KERNEL上过滤?

编辑:

0 个答案:

没有答案