我们如何确定使用 libudev 或其他 Linux 库移入/移出 USB 或从中删除的数据大小?

我们如何确定使用 libudev 或其他 Linux 库移入/移出 USB 或从中删除的数据大小?

我想知道是否有任何可能的方法来使用系统库或任何 python 模块来监视这些信息?

  • 文件或复制到 USB 驱动器的文件大小
  • 文件或从 USB 驱动器复制的文件的大小
  • 从 USB 驱动器中删除的文件
  • 发生上述任何活动的事件

对于添加/删除的大小,我可以使用可用空间的更改,但我找不到任何有用的属性可以为我提供 libudev 中的可用空间信息。pyudev顺便说一句,我正在 python 中使用。

答案1

我认为 UDev 不可能做到这一点。 UDev 仅监视设备超级块和标头区域中的更改,因此对于文件系统更改,它只能跟踪标签更改或某些其他文件系统属性更改等事件,但不能跟踪不影响标头的更改(例如文件中的更改)。

您可以使用以下命令相对快速地获取可用空间信息统计文件系统(这就是df工作原理)你可以将其与inotify或者扇通知监视文件系统上的所有更改。但我不知道有任何库或系统守护程序已经在一个地方提供此类信息。

相关内容