USB-накопитель вытащен (не размонтирован), но я все равно могу получить доступ к нему. Как определить эту ситуацию программно?

Я на кубической доске (одноплатный компьютер, такой как Raspberry Pi), на котором работает производное Debian под названием cubian

Linux Cubian 3.4.79-sun4i #1 PREEMPT Wed Feb 25 08:50:31 UTC 2015 armv7l GNU/Linux 

USB-диски автоматически монтируются в подкаталог / media через udevil .

Я пытаюсь управлять этим как киоск (у пользователя нет доступа к оконной системе и т. Д.), Поэтому мне нужно реагировать на ситуации программно. Недавно во время тестирования в моем коде появилась ошибка, указывающая на наличие более одного каталога в / media. Я входил, и, действительно, там было два каталога. Я сказал себе: «Да, но один из них – просто устаревший остаток невосстановимого диска, поэтому каталог будет пустым [я видел этот случай раньше], и мне просто нужно добавить код, чтобы проверить, ,

К моему удивлению, каталог не был пустым, и не только я смог получить листинг, я смог открыть и прочитать содержимое файла. Этот вопрос описывает аналогичную ситуацию.

Я предполагаю, что это какой-то кеш, к которому я обращаюсь. Есть ли способ, чтобы я мог программно обнаружить эту ситуацию?

Я не беспокоюсь о том, чтобы очищать каталоги, насколько я знаю, какой из них действительно соответствует физически установленному диску.

К сожалению, я не знаю, как воспроизвести это – я попытался убить udevil и установить его вручную с помощью mount а затем вытащить его, и файлы исчезли.

Если бы был надежный способ воспроизвести его, я мог бы проверить некоторые вещи (например, посмотреть, не срабатывает ли touch команда, но не висит, может быть?), Так что это также будет полезным ответом.

  • Мониторинг истории USB-накопителей
  • Безопасное извлечение USB-накопителя (Kindle) из командной строки
  • Установка opensuse через USB
  • Подключить Asus Zenfone 5 к Linux
  • как создать загрузочную флешку, которая может загружаться как BIOS, так и UEFI?
  • Как исправить ошибку на жестком диске, связанную с usb?
  • Мультизагрузочный USB с дополнительным первым разделом
  • Автоматизация разделов USB NTFS на Gnome не работает, если имя устройства - sdb (FAT32 в порядке)
  • One Solution collect form web for “USB-накопитель вытащен (не размонтирован), но я все равно могу получить доступ к нему. Как определить эту ситуацию программно?”

    Единственный способ, которым это может произойти, – это если в файле было записано что-то, а диск был отключен. Если ничего не установлено, система Linux увидит папки в / media как обычные папки с обычными файлами в ней.

    В Linux вполне возможно использовать один каталог как обычный каталог и точку монтирования для дисков или сетевых дисков по одному за раз.

    Редактировать:

    побочный эффект кеширования, упомянутый в другом сообщении, можно решить, выполнив $ sync перед размонтированием. То, что они описывают, – это кеш, который очищается после размонтирования, с тем, что файл записывается в обычную папку, как я описал ранее.

    Пожалуйста, не голосуйте без объяснения причин.

    Linux и Unix - лучшая ОС в мире.