检查程序中是否有hdd处于活动状态

时间:2017-01-28 02:43:37

标签: c linux banana-pi

我想检查我的硬盘驱动器是否处于活动状态,并设置变量或布尔值以便稍后在程序中使用。我安装了hdparm并正常工作以在一段时间后关闭驱动器。驱动器在/ dev / sda2上,并在引导时自动挂载。

我读到了popen(),但在解析c中的输出时仍然不是很好。还有另一种方法吗?

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

1 个答案:

答案 0 :(得分:1)

您只需阅读" / sys / block / sda2 / stat"。有关文档,请参阅https://www.kernel.org/doc/Documentation/block/stat.txt。 你的程序应该像这样工作:

  1. 打开" / sys / block / sda2 / stat"与fopen
  2. 使用sscanf解析字段3(读取扇区)和字段7(写入扇区)。
  3. fclose the file
  4. 等几秒钟
  5. 重复步骤1-3。如果您有不同的号码,那么该磁盘在此期间处于活动状态。