Wie erzwinge Sie einen Linux-Prozess (Java Webstart App) zu stoppen, um eine Dateisystem (CD-ROM) Verriegeln, ohne den Prozess zu töten?

StackOverflow https://stackoverflow.com/questions/2732414

Frage

In Linux (CentOS 5.4), wie Sie einen Prozess ein Dateisystem zu stoppen, zwingen Sie Sperren, ohne den Prozess zu töten?

Ich versuche, meine Java Web Start Anwendung zu bekommen, lokal ausgeführt wird, eine CD auszuwerfen. Ich habe nicht dieses Problem habe, wenn ich nur durch die Dateien gerade bin einen JFileChooser verwenden, aber sobald ich den Inhalt einer Datei zu lesen, kann ich nicht mehr auswerfen die CD ..., auch wenn alle Verweise auf Dateien zu entfernen.

Schlagen Sie die Auswurftaste wird den Fehler geben (Titel - "Can not Eject Volume"): „Eine Anwendung verhindert, dass das Volumen‚Volume-Name‘aus ausgeworfen“

So ist es mein Ziel ist es, den Prozess zu sagen, die CD-ROM zu stoppen, um Targeting es freizugeben.

Vielen Dank für jede Hilfe oder Richtung !!

Versuchte Fix: -running die Befehle:

sudo umount -l /media/Volume_Name      //-l Lazy Unmount forces the unmount
sudo eject

Problem: Wenn eine neue CD eingelegt ist, wird sie nicht mehr automatisch montiert wahrscheinlich, weil der Prozess noch „Targeting“ es.

War es hilfreich?

Lösung

, die lsof Listen Ihre Java-Anwendung als einzige Anwendung Angenommen, die Datei zugreifen, könnten Sie versuchen, eine Garbage Collection zwingen (mit jvisualvm oder ein ähnliches Werkzeug) zu sehen, ob das befreit ihn.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top