0
我有一個SD卡讀卡器的Debian Linux機箱。看起來我可以在SD卡不存在的情況下執行文件IO(至某點)。我需要一種方法來確保我正在閱讀的文件實際上是卡上的文件,而不是緩存中的文件。測試sd卡上的文件 - 緩存?
細節:如果我把一個文件在SD卡上,並閱讀:
#!/bin/bash
if [-e "/media/usb3/disk_id"]
id=`cat /media/usb3/disk_id`
logger "disk id: $id"
else
logger "not there"
fi
這個工程(IE預期的行爲),如果我插入與它的「disk_id」文件的磁盤。 但是如果我取出SD卡,它會繼續工作......或者放入另一張沒有該文件的卡。
我可以使用blkid -d /dev/null
來檢測SD卡的存在/缺失,但我不知道如何解決該操作系統正在執行的緩存。
對此提出建議?
在拔出之前是否卸下了卡? –
不是。這是測試用例的一部分。 – ethrbunny
當介質被移除時,操作系統需要刷新內存中的結構。當操作系統對它撒謊時,你無法合理地期望你的軟件能夠正常工作。 –