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

Другие вопросы по тегам