Das Volume kann nicht ausgeworfen werden, da es derzeit verwendet wird

100

Nach der Arbeit mit einem externen USB-Backup-Laufwerk möchte ich das Laufwerk sauber aushängen. Beim Drücken der 'Eject'-Taste warnt mich Finder mit der Meldung:

  • " Das Volume kann nicht ausgeworfen werden, da es derzeit verwendet wird. "

oder

  • " Der Datenträger" Datenträgername "wurde nicht ausgeworfen, da er möglicherweise von einem oder mehreren Programmen verwendet wird. "

oder wenn Sie versuchen, das Terminal zu benutzen: umount /Volumes/Diskname

  • " umount (/ Volumes / Diskname): Ressource belegt - versuchen Sie 'diskutil unmount' "

Soweit mir bekannt ist, verwende ich diese Diskette nicht, aber Finder sagt, dass ich das tue, also muss ich mich irren. Ich bevorzuge ein sauberes Aushängen des Laufwerks. Da ich gerade mehrere Aufgaben erledige, wird das Abmelden und Anmelden ebenso wie die Installation von Software von Drittanbietern nicht bevorzugt.

Hier lsofkönnte ein Terminalbefehl hilfreich sein, aber ich persönlich halte dies für zu komplex für ein so 'einfaches' Problem, und um ehrlich zu sein, weiß ich nicht, wie ich es richtig verwenden soll.

Meine Frage: Woher weiß ich, welches Programm mein Laufwerk verwendet, damit ich das Programm ordnungsgemäß beenden und mein Laufwerk auswerfen kann?

Das Volume kann nicht ausgeworfen werden, da es derzeit verwendet wird. Die Diskette "Camel" wurde nicht ausgeworfen, da sie möglicherweise von einem oder mehreren Programmen verwendet wird. Die Diskette "Mammtoh" wurde nicht ausgeworfen, weil ein oder mehrere Programme ... xkcd

CousinCocaine
quelle
2
"Soweit mir bekannt ist, verwende ich diese Diskette nicht, aber Finder sagt, dass ich das tue, also muss ich mich irren." Sie vertrauen Maschinen zu sehr. ;-) Oft sind Computer falsch und wir Menschen haben recht.
Nicolas Barbulesco
Sie sagen also, dass ich recht habe? ;)
CousinCocaine
2
Und wenn Spotlight der Täter ist, ersparen Sie sich einige Wiederholungen: apple.stackexchange.com/a/211616/15417
John2095

Antworten:

130

lsofist in der Tat die beste Wahl. Der schnellste und einfachste Weg wäre:

sudo lsof /Volumes/myDrive

Die Ausführung kann einige Minuten dauern, aber sobald sie abgeschlossen ist, erhalten Sie eine Liste der geöffneten Dateien auf der Festplatte. Die Ausgabe sieht ungefähr so ​​aus:

COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
mds         89  root   19r   DIR   52,3      432     2 /Volumes/Photos
mds         89  root   23r   DIR   52,3      432     2 /Volumes/Photos
Finder     681 alans   14r   DIR   52,3      432     2 /Volumes/Photos
QuickLook 2158 alans    9r   REG   52,3  1141591 78651 /Volumes/Photos/_tmp_iphone_10_backup/APC_1546.JPG  

In diesem Fall ist es die QuickLookAnwendung, in der eine Datei geöffnet ist. Das direkte Schließen der Anwendung ist der beste Weg, um das Problem zu beheben. Dies ist jedoch nicht immer möglich. Beispielsweise wird QuickLook nicht als Anwendung angezeigt, auf die Sie im Dock zugreifen können.

Wenn Sie die Anwendung nicht manuell schließen können, können Sie sie mit dem killBefehl über die Befehlszeile beenden. Verwenden Sie dazu die Nummer PIDaus der zweiten Spalte als ID für den Kill. Aus dem obigen Beispiel wäre es:

kill 2158

Beachten Sie, dass dies manchmal nicht funktioniert und eine aggressivere Form von killverwendet werden muss. Hier ist eine Reihe von eskalierenden Aggressivität (mit dem Beispiel PID von 2158):

kill 2158
sudo kill 2158
sudo kill -INT 2158
sudo kill -KILL 2158

Sie sollten den Datenträger auswerfen können, sobald der Prozess / die Anwendung beendet wurde.

Eine letzte Note lsofkann eine oder zwei Minuten dauern. Es kann auch hängen bleiben, aber Sie sollten es mindestens ein paar Minuten dauern, bevor Sie entscheiden, dass dies der Fall ist.

Manchmal sudo lsof /Volumes/myDrivefindet der Basisbefehl auch nichts. Versuchen Sie in diesem Fall, das +DArgument (dh sudo lsof +D /Volumes/myDrive) hinzuzufügen . Dadurch wird die Festplatte von oben nach unten gescannt. Es wird länger dauern, aber es sollte alles aufnehmen, was dazu führt, dass die Festplatte nicht mehr ausgeworfen werden kann.

( Hutspitze an Alec Jacobsons Post für zusätzliche Details. )

Paul Gilfedder
quelle
1
Ich fand das auch, aber ich hoffte, dass jemand eine nicht-terminale Lösung hat. Wenn nicht, bekommst du dein Plus;)
CousinCocaine
3
→ Paul: Ich würde vorschlagen, dass Sie Ihr vorgeschlagenes Kommando wie /usr/bin/sudo lsof /Volumes/myDrive
folgt
3
Oh, exzellent, ich habe auf sudo verzichtet, was eine völlig andere Reihe von Ergebnissen ergibt.
Alper
2
Ja, sudo wird definitiv in vielen Fällen benötigt. In meinem Fall ergab dies, dass Spotlight versucht hat, die Festplatte zu indizieren. Daher bestand die Lösung darin, Spotlight für die Festplatte zu deaktivieren und Spotlight dann manuell anzuhalten / neu zu starten.
Tom
30

Hast du es versucht $ diskutil unmount /Volumes/Diskname?

Oder $ diskutil unmount force /Volumes/Diskname?

In der Manpage heißt es:

Aufgrund der Komplexität und Verwobenheit von Mac OS X kann es vorkommen, dass umount häufig fehlschlägt. Es wird empfohlen, stattdessen diskutil (1) (wie in "diskutil unmount / mnt") zu verwenden.

Wenn der Name Ihres Volumes Leerzeichen enthält, müssen Sie die Leerzeichen mit den folgenden Zeichen \maskieren:

$ diskutil unmount /Volumes/Disk\ Name

Oder verwenden Sie Anführungszeichen, um Verwirrung zu vermeiden.

$ diskutil unmount "/Volumes/Disk Name"
Jason Robinson
quelle
1
Ich glaube, ich habe es versucht und es hat nicht funktioniert. Aber das nächste Mal werde ich es erneut versuchen und meinen Beitrag entsprechend aktualisieren.
CousinCocaine
Ihr Beispiel enthält Anführungszeichen, keine Apostrophe. Welches ist eine gute Sache.
Nicolas Barbulesco
1
@NicolasBarbulesco: Danke für den Hinweis, ich habe die Antwort korrigiert. Guter Fang!
Jason Robinson
1
Arbeitete -> sudo diskutil Unmount Force / Volumes / Diskname
tgkprog
1
@tgkprog Freut mich zu hören, auch danke für den sudoBefehl, der auch anderen helfen kann.
Jason Robinson
15

Ihr Problem wird wahrscheinlich durch den folgenden Prozess verursacht  mds : Spotlight-Indizierung Ihrer Festplatte.

Ich habe dieses Problem und (noch) keine Lösung gefunden.

Nicolas Barbulesco
quelle
So deaktivieren / aktivieren Sie die Spotlight-Indizierung: iclarified.com/49187/…
rstackhouse
Ich fand auch, dass MDS-Dienst es verwendet. Ich habe versucht, den MDS-Dienst für Flash-Laufwerke mit "sudo mdutil -i off / Volumes / 16GB" zu deaktivieren, aber es hat auch nicht geholfen. Ich musste den Finder mit "Option + Klick" auf FInder neu starten.
Aruna
6

Sie können die Donationware-Anwendung " What's Keeping me? " Ausprobieren, die anzeigt, welcher Prozess / welche Anwendung das Volume / den Ordner / die Datei verwendet.

Dieses Programm ist vom Entwickler für Mac OS X 10.6 Snow Leopard zertifiziert. Auf der RoaringApps-Seite für diese Anwendung wird jedoch angegeben, dass es unter OS X 10.7 Lion und OS X 10.8 Mountain Lion einwandfrei funktioniert.

Über was hält mich?

Haben Sie jemals das Problem gehabt, dass Sie den Papierkorb nicht leeren oder keine Diskette auswerfen können, weil Sie etwas daran hindert? Normalerweise liegt dies daran, dass in einer Anwendung eine Datei geöffnet ist und Sie den Datenträger nicht entfernen oder die Datei nicht in den Papierkorb werfen können. Deshalb haben wir What's Keeping Me! Was mich hält identifiziert die Anwendung, die das Element geöffnet hält. Anschließend können Sie mit What's Keeping Me die Problemanwendung beenden (oder bei Bedarf beenden), um Ihre Aufgabe auszuführen. What's Keeping Me enthält einen Automator-Workflow, mit dem Sie auch direkt im Finder suchen können!

MK
quelle
1
Das sieht nach gültiger Software aus, aber ich bevorzuge native OS X-Lösungen.
CousinCocaine
Mit "einheimisch" meinen Sie etwas, das Apple anbietet? An der Benutzeroberfläche gibt es nichts Vergleichbares. Außerdem gibt es WKM seit mehreren Jahren.
MK
Vielen Dank für Ihre Hinzufügung. Native ist nicht das richtige Wort, was ich meinte, war "Nicht-Dritter". WKM ist eine schöne Lösung, aber ich persönlich bevorzuge lsof.
CousinCocaine
Habe gerade die App in High Sierra getestet und sie funktioniert immer noch. Es ist auch 64-Bit.
Dianeoforegon
4

Ich habe diese Nachricht erhalten, obwohl ich sicher bin, dass sich keine offenen Dateien auf dem Volume befinden . Ich habe dies mit Why Not Unmount überprüft , einem GUI-Tool, das offene Dateien auf einer Festplatte anzeigt.

In meinem Fall war es ein Zeichen dafür, dass das Dateisystem beschädigt ist. Das Ausführen des Festplatten-Dienstprogramms (oder wenn das nicht genug war, DiskWarrior) löste das Problem und machte die Festplatte wieder auswerfbar.

Hobbes
quelle
1
In meinem Fall war das System nicht beschädigt.
CousinCocaine
Scheint unwahrscheinlich. Wahrscheinlich hat Spotlight oder eine andere App oder ein anderer Dienst eine Sperre auf der Festplatte.
Tom
3

Sowohl die Befehlszeilenlösung als auch What's Keeping Me funktionieren hervorragend.

Zusammenfassend lautet die Befehlszeile im Terminal:

lsof | grep /Volumes/myDrive

Die GUI-Anwendung "What's Keeping Me" ist bei Hamsoft Engineering erhältlich .

Screenshots von beiden, bei denen die gleiche Suche ausgeführt wird.

Befehlszeilenausgabe GUI für das, was mich hält

Ich bevorzuge die Kommandozeile nur geringfügig, da sie immer bei dir ist. Andererseits ist What's Keeping Me schneller und einfacher zu verwenden, wenn Sie es installiert haben.

Foliovision
quelle
3

HINWEIS: Funktioniert, fseventerbis OS X 10.10 Yosemite und die Entwicklerseite http://www.fernlightning.com mittlerweile offline sind. Daher wurden die Produktverknüpfungen entfernt. Damit ist brew cask install fseventeres möglicherweise noch auf älteren MacOS-Versionen verfügbar.

Es gibt eine GUI-Alternative zur CLI-App lsof: Es
fseventerist ein großartiges Dienstprogramm zur Überwachung des Dateisystemzugriffs für verschiedene Zwecke . Es wird mit Superuser-Berechtigungen ( sudo) ausgeführt, sodass alle Lese- / Schreibzugriffe auf alle bereitgestellten Dateisysteme angezeigt und in einer sehr übersichtlichen Darstellung dargestellt werden.

Meine Erfahrung: Ich hatte ein Volume, das ständig nicht richtig ausgeworfen werden konnte (wie in den Screenshots des OP), und brauchte immer ein "Force Eject", manchmal sogar eine erzwungene physische Trennung (noch empfohlen! Könnte Ihr Dateisystem (e) darauf beschädigen) Festplatte) oder ein Herunterfahren des Systems, um diese Brute-Methode zu umgehen.

Mein Fix: Zusammengefasst: Das Auswurfproblem kann durch beschädigten oder veralteten Dateiinhalt auf diesem Volume verursacht werden. Das Entfernen des gestörten Inhalts kann dies dauerhaft beheben. Im Detail:

  1. Bestimmen Sie, auf welche Datei zugegriffen wird (mit lsofoder fseventer). In meinem Fall handelte es sich um eine Classic Mac OS-Datei mit einem weiterhin geöffneten Ressourcen-Fork, wahrscheinlich, weil ein Hintergrund-Analyseprozess (Spotlight, QuickLook oder ähnliches) daran gehangen hat.

  2. Sichern Sie diese problematischen Daten in einem Dateiarchiv (in dem (klassische) Mac-spezifische Ressourcendaten erhalten bleiben). Ich habe einfach Finders native "Compress" -Funktion aus dem Kontextmenü verwendet.

  3. Löschen Sie die fehlerhafte Datei / den fehlerhaften Ordner.

    • Mit Finder wie gewohnt. Wahrscheinlich schlägt dies fehl, da es sich um eine "problematische Datei / einen fehlerhaften Ordner" handelt.
    • Halten Sie beim Leeren des Papierkorbs im Finder plus die ALT-Taste gedrückt. Dies schafft ein wenig mehr Kraft, aber wahrscheinlich wird es immer noch scheitern.
    • Durch das Terminal mit sudo rm -R /path/to/troublesome/FileOrFolder. Dies funktionierte schließlich, nachdem die Löschversuche von Finder fehlgeschlagen waren.
  4. Versuchen Sie erneut, die Bereitstellung aufzuheben. Es kann weiterhin fehlschlagen, da sich die fehlgeschlagenen Hintergrundprozesse möglicherweise noch in einem nicht behebbaren Zustand befinden .

  5. Neustart. Versuchen Sie dann erneut, die Verbindung zu trennen. Von da an funktionierte die Lautstärke wieder einwandfrei. Normale Montage-, Demontage- und Lese- / Schreibvorgänge. Nur wenn eine Datei tatsächlich von einem Benutzerprozess geöffnet wurde, wurde das Aufheben der Bereitstellung verhindert. Wieder ganz normales Verhalten.

porg
quelle
1

Lösung Stellen Sie sicher, dass alle Programme geschlossen sind. Klicken Sie oben links auf dem Bildschirm auf das Apple-Symbol und dann auf Beenden erzwingen. Klicken Sie in der Liste auf Finder. Klicken Sie nun auf die Schaltfläche Neu starten. Versuchen Sie dann erneut, das Laufwerk auszuwerfen.

verrückt machend
quelle
Haben Sie gesehen, dass diese Lösung funktioniert?
Nicolas Barbulesco
1

Versuchen Sie, den Finder neu zu starten. Hier funktioniert es

Alain
quelle
Ich bin nicht sicher, warum dies abgelehnt wurde. In meinem Fall hatten QuickLook und mds beide einen Moment Geduld (obwohl keine aktiven Finder-Fenster geöffnet waren). Ich konnte mds neu starten, qlmanage -rsagte aber , es würde "quicklookd zurücksetzen", aber es hielt die Datei weiterhin offen lsof +D /path/to/volume. Ein Relaunch des Finders räumte auf und ich konnte das Volume auswerfen.
AC Capehart
-2

Ich habe meinen Mac neu gestartet und das hat es behoben :-)

Genius
quelle
1
Ich bevorzuge ein sauberes Aushängen des Laufwerks. Da ich gerade mehrere Aufgaben erledige, wird das Abmelden und Anmelden ebenso wie die Installation von Software von Drittanbietern nicht bevorzugt.
CousinCocaine