我有一个嵌入式 x86 计算机板,它没有任何类型的 I/O 活动 LED(例如 HDD LED)。我没有使用 SATA 驱动器,因此使用 SATA PIN 11 作为活动指示器的正常解决方法是行不通的。我也无法更改硬件设计,因为它超出了我的控制范围。
由于缺乏替代方案,我想创建一个基于软件的繁忙指示器,它基本上根据磁盘 I/O 活动在帧缓冲区上绘制和清除红色方块。绘制帧缓冲区对我来说没有问题;那部分已经解决了。
我可以选择哪些选项来让 Linux 内核告诉我它正在启动和停止执行磁盘 I/O?
是否存在用户空间 C 程序可以订阅的内核接口,以便内核在磁盘 I/O 操作开始和停止时通知/唤醒它?
我想避免解析 /proc/ 或 /sys/ 中的 I/O 计数器等字符串,如果可能的话,解析任何类型的循环/轮询。
理想情况下,将通知限制到单个块设备会很棒,但这并不是一个破坏性的事情。
答案1
尝试 gnome-shell 扩展/指示器硬盘 LED,它似乎完全符合您的要求。
如果您不使用 gnome-shell,请将您的桌面环境名称添加到问题中。
对于原始数据或独立磁盘监视器,多个答案如何监控磁盘io?仍然有效。