1

我想检查我的硬盘驱动器是否处于活动状态,并设置一个变量或布尔值以供稍后在程序中使用。我已安装 hdparm 并在一段时间后正常工作以降低驱动器的转速。驱动器位于 /dev/sda2 并在启动时自动挂载。

我读到过,popen()但在 c 中解析输出仍然不是很好。还有另一种方法可以做到这一点吗?

或者检查它是否处于待机模式也可以。

4

1 回答 1

1

您可以从“/sys/block/sda2/stat”中读取。有关文档,请参阅 https://www.kernel.org/doc/Documentation/block/stat.txt。你的程序应该像这样工作:

  1. 用 fopen 打开“/sys/block/sda2/stat”
  2. 使用 sscanf 解析字段 3(读取扇区)和字段 7(写入扇区)。
  3. f关闭文件
  4. 等待几秒钟
  5. 重复步骤 1-3。如果您得到不同的数字,则磁盘在此期间处于活动状态。
于 2017-01-28T03:09:12.157 回答