如何以编程方式检测 SuSE Linux 中的 sata 驱动器拔出?

Posted

技术标签:

【中文标题】如何以编程方式检测 SuSE Linux 中的 sata 驱动器拔出?【英文标题】:How to programmatically detect sata drive unplug in SuSE Linux? 【发布时间】:2010-04-20 16:04:06 【问题描述】:

有谁知道我可以使用一种方法以编程方式检测 SATA 硬盘驱动器是否已拔出?当我们需要检测驱动器的移除时,我们的文件系统以只读模式安装。前几天我们注意到,我们能够拔下硬盘驱动器,一切都继续顺利运行,直到我们下次尝试从磁盘上的文件中读取。

【问题讨论】:

不是一个完整的答案,但是每当 SATA 驱动器被拔出时,SUSE 不会添加到dmesg 吗?您可以获取 dmesg 并不断轮询它以了解硬盘驱动器的变化。 废话,我忘记了一个额外的并发症。当我需要检测断开连接时,我们的文件系统处于只读模式。 【参考方案1】:

解析dmesg 的输出是一个坏主意,原因有很多,其中最重要的是它效率低下并且取决于内核中的printk 碰巧使用的格式。

在现代 Linux 系统上,硬件更改通常通过udev 处理,而这反过来又会将更改事件向上传播到D-BUS。

您可能想搜索如何处理插入和取出记忆棒;这些方法应该非常相似。

【讨论】:

以上是关于如何以编程方式检测 SuSE Linux 中的 sata 驱动器拔出?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Open XML 和 SAX 以编程方式检测空行?

如何以编程方式检测可执行文件在运行时所在的目录?

未以编程方式检测 Dismiss Popover

C/C++/Assembly 以编程方式检测超线程在 Windows、Mac 和 Linux 上是不是处于活动状态 [重复]

如何升级openssh7.5 suse11sp1

如何以编程方式检测Windows Phone 8.1操作系统版本?