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 команда, но не висит, может быть?), Так что это также будет полезным ответом.

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

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

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

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

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

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

  • Установите устройство Android 4.0.4 на Linux
  • Как переустановить USB-накопитель после размонтирования Nautilus без его отсоединения?
  • Как удалить USB-накопитель, не беспокоясь о его размонтировании?
  • Проблемы с копированием больших файлов на USB-накопитель
  • Воспроизведение DVD с VLC с USB-устройства
  • Как, наконец, установить флэш-накопитель FAT16 USB
  • Где найти список драйверов устройств, поддерживаемых linux?
  • Как подождать, когда USB-накопитель будет распознан / смонтирован во время загрузки, чтобы начать собственный сервис?
  • Как узнать, является ли usb hdd hdd или флеш-накопителем, отличным от внешнего вида.
  • Как сделать портативную вспышку Kali? НЕ ЖИТЬ
  • Скорость записи медленного USB 3
  • Почему в LiveUSB используются файловые системы squashfs (и аналогичные)?
  • Linux и Unix - лучшая ОС в мире.