gpt4 book ai didi

linux - 在 Linux 中检测到 HDD 时如何得到通知

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:02 27 4
gpt4 key购买 nike

我们有一个嵌入式 Linux 构建,它以处于 sleep 模式(硬件)的 HDD 启动。然后软件启动并为驱动器供电。 Linux 检测到驱动器正常:

ata1: exception Emask 0x10 SAct 0x0 SErr 0x4050000 action 0x42 frozen
ata1: soft resetting port
ata1: SATA link up 1.5 Gbps (SStatus 113 SControl F0000)
ata1.00: ATA-8, max UDMA/133, 976773168 sectors: LBA48 NCQ (depth 0/32)
ata1.00: ata1: dev 0 multi count 0
ata1.00: configured for UDMA/133
ata1: EH complete
Vendor: ATA Model: Hitachi HCS5C105 Rev: JC2O
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
sda: Write Protect is off
SCSI device sda: drive cache: write back
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
sda: Write Protect is off
SCSI device sda: drive cache: write back
sda: sda1 sda2
sd 0:0:0:0: Attached scsi disk sda
sd 0:0:0:0: Attached scsi generic sg0 type 0

不幸的是,软件会在上述 SCSI 检测发生之前尝试访问驱动器。我们可以添加 sleep ,但这不是一种可靠的机制,因为我们注意到检测所花费的时间是不确定的。

有没有办法获得内核/热插拔/等等。系统在检测到硬盘时报告?

谢谢。

最佳答案

我认为答案在 udev 中的某处设备管理器(wikipedia page)。它完全可以在嵌入式环境中使用。

它允许您 write rules能够在检测到某些设备时启动脚本/程序。

像这样的东西可以做的东西:

KERNEL=="sda", RUN+="/usr/bin/my_program"

如果你有一个旧内核,你可能有 hotplug系统激活。

最后的机会是 inotify该工具可让您监控文件系统中的任何内容(甚至/dev 目录 :))。

关于linux - 在 Linux 中检测到 HDD 时如何得到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7334807/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com