如何知道外部驱动器是否正在使用中(正在读取/写入)?

如何知道外部驱动器是否正在使用中(正在读取/写入)?

我有一些外置硬盘连接到电源插座。插座是 USB 可切换的,也就是说,我可以在电脑上运行一个程序,将外置硬盘与电网物理断开。我只是偶尔使用这些硬盘进行备份。我经常忘记关掉它们(尽管有了可切换的插座,关掉它们真的很容易)。

现在我想要做的是检查它们是否正在使用中。也就是说,我想知道在过去半小时内是否有大量数据被写入或读取或类似情况。我该如何完成这项任务呢?

答案1

好的,到目前为止我能做的最好的就是安装系统状态 安装 sysstat 然后每隔一段时间查询以下命令(替换sdX为驱动器的名称 - 您可以通过首先运行iostat -m来识别所需的驱动器来弄清楚):

iostat -m | grep sdX | tr -s ' ' | cut -d ' ' -f 5-

当这两个值(读取和写入)发生显著变化时,表示磁盘正在使用中(不是由守护进程或其他程序生成的)。

我认为只需查看 即可完成此操作,而无需安装其他软件包/proc/diskstats。如果有人有更好、更优雅的解决方案,我很乐意在这里分享。

答案2

如果您想要列出 USB 设备(查看它们是否正在使用),您可以打开终端并输入lsusb

可能会出现这样的情况:(请注意,我的输出与你的不同)

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 413c:2005 Dell Computer Corp. RT7D50 Keyboard
Bus 001 Device 004: ID 413c:3016 Dell Computer Corp. Optical 5-Button Wheel Mouse
Bus 001 Device 005: ID 03f0:a007 Hewlett-Packard

它将列出这些设备,以便您查看它们是否正在实际使用。

希望这可以帮助!!!

相关内容