我有一个快速的问题,但我找不到答案。 在Linux(或在Python中)是否可以看出外部USB笔驱动器是否空载? 我需要知道这个我正在写的python脚本。 我需要尽快重命名外部USB笔驱动器的文件夹。

编辑:我知道有lsof命令列出打开文件。'lsof / thedir'只有一半。当流程复制到USB仍在运行时,它可以正常运行。但是当过程停止时,LSOF都没有显示。但操作系统仍然从缓冲区写入USB。

有帮助吗?

解决方案

您可以通过查看/sys/block/<dev>/stat来检查是否已处理所有I / O. 第九列包含当前在飞行中的 I / O的数量。检查 https://www.kernel.org/doc/documentation/block/stat。txt
一旦这个数字为零,设备应该空闲。

要强制立即写入所有缓冲区,您可以执行生成的sync并等到它返回。

虽然,请注意,如果您不控制写作,您可以在此处进行比赛条件 - 在您决定设备空闲之后,其他一些进程可以开始写入它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top