Как вы заставляете процесс Linux (Java webstart App) прекратить блокировку файловой системы (CD-ROM) БЕЗ уничтожения процесса?
В Linux (CentOS 5.4), как вы заставляете процесс остановить блокировку файловой системы, не убивая процесс?
Я пытаюсь заставить приложение Java Webstart, работающее локально, извлечь компакт-диск. У меня нет этой проблемы, если я просто просматриваю файлы с помощью JFileChooser, но, прочитав содержимое файла, я больше не могу извлечь компакт-диск... даже после удаления ВСЕХ ссылок на любые файлы.
Нажатие на кнопку извлечения приведет к ошибке (Заголовок - "Cannot Eject Volume"): "Приложение предотвращает удаление тома" имя тома ""
Таким образом, моя цель состоит в том, чтобы заставить процесс прекратить нацеливание на CD-ROM, чтобы освободить его.
Спасибо за любую помощь или направление!
Попытка исправить: - запуск команды:
sudo umount -l /media/Volume_Name //-l Lazy Unmount forces the unmount
sudo eject
Проблема: Когда новый CD вставлен, он больше не монтируется автоматически, вероятно, потому что процесс все еще "нацеливается" на него.
1 ответ
При условии, что lsof
перечисляет ваше java-приложение как единственное приложение, обращающееся к файлу, вы можете попытаться форсировать сборку мусора (используя jvisualvm или аналогичный инструмент), чтобы узнать, освобождает ли это его.