检查USB设备是否空闲,LINUX

时间:2014-07-28 20:40:33

标签: linux usb rename python-idle pen

我有一个简单的问题,但我无法找到答案。 是否有可能在linux(或python)中查看外部usb笔式驱动器是否空闲? 我需要知道这是一个我写的python脚本。 只要没有任何内容写入,我就需要在外部usb笔式驱动器上重命名文件夹。

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

1 个答案:

答案 0 :(得分:2)

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

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

尽管如此,如果您没有控制写作,请注意这里有竞争条件 - 在您确定设备处于空闲状态后,其他一些进程可能会开始写入它。