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

Nachdem ich mit einer externen USB-Sicherungsfestplatte gearbeitet habe, möchte ich das Laufwerk sauber aushängen. Beim Drücken der „Auswerfen“-Taste warnt mich der 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 verwenden:umount /Volumes/Diskname

  • " umount(/Volumes/Diskname): Ressource ausgelastet -- versuche 'diskutil unmount' "

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

Der Terminalbefehl lsofkönnte hier nützlich sein, aber ich persönlich denke, dass dies für ein so "einfaches" Problem zu komplex ist, und um ehrlich zu sein, weiß ich nicht, wie man es richtig anwendet.

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

Das Volume kann nicht ausgeworfen werden, da es derzeit verwendet wird. Der Datenträger „Camel“ wurde nicht ausgeworfen, da er möglicherweise von einem oder mehreren Programmen verwendet wird. Die Diskette „Mammtoh“ wurde nicht ausgeworfen, weil ein oder mehrere Programme... xkcd

"Soweit ich weiß, verwende ich diese Festplatte nicht, aber der Finder sagt, dass ich es tue, also muss ich mich irren." Sie vertrauen Maschinen zu sehr. ;-) Oft liegen Computer falsch und wir Menschen haben Recht.
Was Sie also sagen, ist, dass ich recht habe? ;)
Und wenn Spotlight der Übeltäter ist, sparen Sie sich eine Wiederholung: apple.stackexchange.com/a/211616/15417
@John2095 In meinem Kommentar unter der Antwort, auf die Sie verlinkt haben, habe ich die Fehlermeldung detailliert beschrieben, die ich beim Versuch erhalten habe. Time Machine-Laufwerke können nicht indiziert werden, auch nicht im Terminal
Manchmal muss man einfach am Kabel ziehen. Ich denke, das Mac OS Journaled-Format verhindert, dass Sie Datenverlust erleiden, wenn Sie das Kabel ziehen [Zitat erforderlich]

Antworten (10)

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

sudo lsof /Volumes/myDrive

Es kann ein paar Minuten dauern, bis es ausgeführt wird, aber sobald es fertig ist, gibt es Ihnen eine Liste der geöffneten Dateien auf der Festplatte. Die Ausgabe sieht in etwa 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, die eine Datei geöffnet hat. Das direkte Schließen der Anwendung ist der beste Weg, um das Problem zu beheben. Das ist jedoch nicht immer möglich. Beispielsweise wird QuickLook nicht als eine 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 von der Befehlszeile aus beenden. Verwenden Sie dazu die PIDaus der zweiten Spalte als zu tötende ID. 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 eskalierender Aggressivität (am Beispiel PID 2158):

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

Sie sollten in der Lage sein, die Festplatte auszuwerfen, sobald der Prozess/die Anwendung beendet wurde.

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

Außerdem findet der Basisbefehl manchmal sudo lsof /Volumes/myDrivenichts. Versuchen Sie in diesem Fall, das +DArgument (z . B. sudo lsof +D /Volumes/myDrive) hinzuzufügen. Dadurch wird ein Top-Down-Scan der Festplatte durchgeführt. Es dauert länger, aber es sollte alles erkennen, was dazu führt, dass die Diskette nicht ausgeworfen werden kann.

( Hutspitze zu Alec Jacobsons Beitrag für zusätzliche Details. )

Ich habe das auch gefunden, aber ich hoffte, dass jemand eine nicht-terminale Lösung hat. Wenn nicht, bekommst du dein Plus ;)
→ Paul: Ich würde vorschlagen, dass Sie Ihren vorgeschlagenen Befehl wie folgt verbessern:/usr/bin/sudo lsof /Volumes/myDrive
@danielAzuelos, warum sollte man Superuser-Rechte zum Auflisten von Reittieren benötigen?
@CousinCocaine bitte folge dem Link in meinem Kommentar oben. Sie werden es selbst sehen können.
Oh ausgezeichnet, ich habe lsof ohne sudo gemacht, was zu völlig anderen Ergebnissen führt.
Ja, sudo wird definitiv in vielen Fällen benötigt. In meinem Fall ergab dies, dass Spotlight versuchte, die Festplatte zu indizieren, also bestand die Lösung darin, Spotlight für die Festplatte zu deaktivieren und dann Spotlight manuell zu stoppen/neu zu starten.
sudo lsof /Volumes/driveist viel schneller alssudo lsof | grep /Volumes/drive
Was tun Sie, wenn Ihr Laufwerk Leerzeichen im Namen hat? (Selbstantwort: setzen Sie den Namen in doppelte Anführungszeichen)
Als ich lsof benutzte, um herauszufinden, warum ein Laufwerk nicht sofort ausgehängt werden konnte, musste ich sudo. Ohne sie bekam ich nicht genug Informationen. Am Ende stellte sich heraus, dass die Cloud-Backup-Software damit begann, Dateien auf dem Laufwerk zu sichern, als ich es nicht erwartet hatte. Ich habe das Problem gelöst, indem ich die Sicherung angehalten habe. Dann konnte ich das Laufwerk aushängen.
Wenn ich einen Prozess beende, sende ich diese Signale in der Reihenfolge zunehmender Aggression: TERM(Standardeinstellung), HUP, QUIT, ABRT, INT, KILL(was garantiert funktioniert). Es lohnt sich, nach jedem Vorgang mehrere Sekunden zu warten, da es eine Weile dauern kann, bis ein Prozess heruntergefahren wird, wenn er beim Warten auf IO blockiert ist.

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

Oder $ diskutil unmount force /Volumes/Diskname?

Wie die Manpage zeigt:

Aufgrund der komplexen und verwobenen Natur von Mac OS X kann umount häufig fehlschlagen. Es wird empfohlen, stattdessen diskutil(1) (wie in „diskutil unmount /mnt“) zu verwenden.

Wenn Ihr Volume Leerzeichen im Namen hat, stellen Sie sicher, dass Sie die Leerzeichen mit Escapezeichen versehen \, z. B.:

$ diskutil unmount /Volumes/Disk\ Name

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

$ diskutil unmount "/Volumes/Disk Name"
Ich glaube, ich habe das versucht und es hat nicht funktioniert. Aber beim nächsten mal probiere ich es nochmal und aktualisiere meinen Beitrag entsprechend.
Ihr Beispiel enthält Anführungszeichen, keine Apostrophe. Was gut ist.
@NicolasBarbulesco: Danke für den Hinweis, ich habe die Antwort korrigiert. Guter Fang!
Hat funktioniert -> sudo diskutil unmount force /Volumes/Diskname
@tgkprog Freut mich zu hören, auch danke für den sudoBefehl, der auch anderen helfen kann.
Dies lieferte die Prozess-ID, die ich musste kill.
Es sollte selbstverständlich sein, aber dieses Erzwingen eines Aushängens sollte vermieden werden, außer als letzter Ausweg, und sollte nicht benötigt werden, wenn Sie den sudo lsof-Ansatz verwenden, wie in der anderen Antwort vorgeschlagen.

Ihr Problem wird wahrscheinlich durch den Prozess verursacht  mds : Spotlight indiziert Ihre Festplatte.

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

So deaktivieren/reaktivieren Sie die Spotlight-Indizierung: iclarified.com/49187/…
Ich habe auch festgestellt, dass der mds-Dienst es verwendet. Ich habe versucht, den mds-Dienst für das Flash-Laufwerk mit "sudo mdutil -i off /Volumes/16GB" zu deaktivieren, aber es hat auch nicht geholfen. Ich musste den Finder mit "Wahl + Klick" auf FINder neu starten.

Sie könnten 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, aber die RoaringApps-Seite für diese Anwendung listet es auf, dass es unter OS X 10.7 Lion und OS X 10.8 Mountain Lion einwandfrei funktioniert.

Über Was hält mich?

Hatten Sie jemals das Problem, dass Sie den Papierkorb nicht leeren oder eine Festplatte auswerfen können, weil Sie etwas daran hindert? Normalerweise liegt der Grund darin, dass eine Anwendung eine Datei geöffnet hat und Sie daher die Festplatte nicht loswerden oder die Datei nicht löschen können. Deshalb haben wir What's Keeping Me! What's Keeping Me identifiziert die Anwendung, die das Element geöffnet hält. Sie können dann What's Keeping Me verwenden, um die problematische Anwendung zu beenden (oder sie bei Bedarf zu beenden), damit Sie Ihre Aufgabe ausführen können. What's Keeping Me enthält einen Automator-Workflow, sodass Sie auch direkt im Finder suchen können!

Das sieht nach gültiger Software aus, aber ich bevorzuge wirklich native OS X-Lösungen.
Mit nativ meinen Sie etwas, das Apple bereitstellt? Auf der GUI-Front gibt es nichts dergleichen. Außerdem gibt es WKM schon seit mehreren Jahren.
Danke für deine Ergänzung. Eingeboren ist nicht das richtige Wort, was ich meinte, war "Nicht-Drittanbieter". WKM ist eine nette Lösung, aber ich persönlich bevorzuge lsof.
Ich habe die App gerade in High Sierra getestet und sie funktioniert immer noch. Es ist auch 64-Bit.
Links sind tot.

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

Ich bin mir nicht sicher, warum dies abgelehnt wurde; In meinem Fall hatten QuickLook und mds beide einen Einfluss darauf (obwohl keine aktiven Finder-Fenster geöffnet waren). Ich konnte mds neu starten, qlmanage -rsagte aber, es sei "quicklookd zurücksetzen", aber es hielt die Datei laut lsof +D /path/to/volume. Ein Neustart des Finders hat es behoben und ich konnte das Volume auswerfen.

Ich habe diese Meldung erhalten, obwohl ich mir sicher war, dass es keine offenen Dateien auf dem Volume gibt . Ich habe dies mit Why Not Unmount überprüft , einem GUI-Tool, das geöffnete Dateien auf einer Festplatte anzeigen kann.

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.

In meinem Fall war das System nicht beschädigt.
Scheint unwahrscheinlich. Wahrscheinlicher ist, dass Spotlight oder eine andere App oder ein anderer Dienst die Festplatte gesperrt hat.
Link ist jetzt tot

HINWEIS: fseventerfunktioniert bis OS X 10.10 Yosemite und die Entwicklerseite http://www.fernlightning.com ist inzwischen offline gegangen. Daher wurden die Produktlinks entfernt. Damit brew cask install fseventerist es möglicherweise noch auf älteren macOS-Versionen verfügbar.

Es gibt eine GUI-Alternative zur CLI-App lsof:
fseventerist ein großartiges Dienstprogramm zur Überwachung des Dateisystemzugriffs für verschiedene Zwecke . Es läuft mit Superuser-Rechten ( sudo), sieht also alle Lese-/Schreibzugriffe aller gemounteten Dateisysteme und präsentiert sie in einer sehr klaren Übersicht.

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

Meine Lösung: Zusammengefasst: Das Auswurfproblem kann durch beschädigte oder veraltete Dateiinhalte auf diesem Volume verursacht werden. Das Entfernen des problematischen Inhalts kann dies dauerhaft beheben. Im Detail:

  1. Bestimmen Sie, auf welche Datei zugegriffen wird (mit lsofoder fseventer). In meinem Fall war es eine klassische Mac OS-Datei mit einem Ressourcenzweig, der offen blieb, wahrscheinlich weil ein Hintergrund-Parsing-Prozess (Spotlight, QuickLook oder ähnliches) daran hing.

  2. Sichern Sie diese beunruhigenden Daten in einem Dateiarchiv (das (klassische) Mac-spezifische Ressourcendaten bewahrt). Ich habe einfach die native "Komprimieren"-Funktion von Finder aus dem Kontextmenü verwendet.

  3. Löschen Sie die problematische Datei/den Ordner.

    • Mit Finder wie gewohnt. Dies wird wahrscheinlich fehlschlagen, da es sich um eine "fehlerbehaftete Datei/einen Ordner" handelt.
    • Mit Finder und gedrückter ALT-Taste beim Leeren des Papierkorbs. Dies erzeugt etwas mehr Kraft, aber wahrscheinlich wird es immer noch versagen.
    • Über das Terminal mit sudo rm -R /path/to/troublesome/FileOrFolder. Dies funktionierte schließlich, nachdem die Löschversuche des Finders fehlgeschlagen waren.
  4. Versuchen Sie erneut, das Volume zu trennen. Es kann trotzdem fehlschlagen, da sich die fehlgeschlagenen Hintergrundprozesse noch in einem nicht wiederherstellbaren Zustand befinden könnten .

  5. Neustart. Versuchen Sie dann erneut, die Bereitstellung zu deaktivieren. Von da an funktionierte das Volume wieder einwandfrei. Normales Mounten, Unmounten, Lese-/Schreibvorgänge. Nur wenn eine Datei tatsächlich von einem Benutzerprozess geöffnet wurde, wurde das Aushängen verhindert. Wieder ganz normales Verhalten.

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

Um es noch einmal zusammenzufassen, die Befehlszeile im Terminal lautet:

sudo lsof | grep /Volumes/myDrive

Die GUI-Anwendung ist What's Keeping Me, ~~erhältlich bei Hamsoft Engineering]~~ Thomas Templeman 1 .

Screenshots von beiden mit derselben Suche.

Befehlszeilenausgabe GUI für What's Keeping Me

Ich bevorzuge die Befehlszeile nur geringfügig, da sie immer bei Ihnen ist. Auf der anderen Seite ist What's Keeping Me schneller und einfacher zu verwenden, wenn Sie es installiert haben.

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

Haben Sie gesehen, dass diese Lösung funktioniert?
Oder ein einfacherer Weg … Verwenden Sie die sudo lsof…in der akzeptierten Lösung beschriebene Methode, suchen Sie die Anwendung, die das Problem verursacht, und schließen Sie dann diese spezielle Anwendung.

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

Ich bevorzuge ein sauberes Unmounten des Laufwerks. Da ich gerade mehrere Aufgaben erledige, wird das Ab- und Anmelden nicht bevorzugt, ebenso wie die Installation von Software von Drittanbietern.
Danke für eine große Tech-Helpline-Antwort und ein Lachen. Sie sollten für den Microsoft-Kundensupport arbeiten!