Как вы заставляете процесс Linux (Java webstart App) прекратить блокировку файловой системы (CD-ROM) БЕЗ уничтожения процесса? - PullRequest
1 голос
/ 28 апреля 2010

В 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

Проблема: Когда вставлен новый компакт-диск, он больше не монтируется автоматически, вероятно, потому что процесс все еще «нацелен» на него.

1 Ответ

2 голосов
/ 28 апреля 2010

Предполагая, что lsof перечисляет ваше java-приложение как единственное приложение, обращающееся к файлу, вы можете попытаться форсировать сборку мусора (используя jvisualvm или аналогичный инструмент), чтобы проверить, освобождает ли оно его.

...