El volumen no se puede expulsar porque actualmente está en uso

100

Después de trabajar con un disco de respaldo USB externo, quiero desmontar limpiamente la unidad. Al presionar el botón 'expulsar', Finder me advierte con el mensaje:

  • " El volumen no se puede expulsar porque está actualmente en uso " .

o

  • " El disco" Nombre de disco "no se expulsó porque uno o más programas pueden estar usándolo ".

o cuando intente usar la Terminal: umount /Volumes/Diskname

  • " umount (/ Volumes / Diskname): recurso ocupado - intente 'diskutil unmount' "

Hasta donde sé, no estoy usando este disco, pero Finder dice que sí, así que debo estar equivocado. Prefiero un desmontaje limpio de la unidad. Como estoy en medio de varias tareas, no es preferible cerrar sesión e iniciar sesión, al igual que la instalación de software de terceros.

El comando de terminal lsofpuede ser útil aquí, pero personalmente creo que esto es demasiado complejo para un problema tan 'simple' y, para ser sincero, no sé cómo usarlo correctamente.

Mi pregunta: ¿Cómo sé qué programa está usando mi disco para poder cerrarlo correctamente y expulsarlo?

El volumen no se puede expulsar porque está actualmente en uso. El disco "Camel" no fue expulsado porque uno o más programas pueden estar usándolo. El disco "Mammtoh" no fue expulsado porque uno o más programas ... xkcd

PrimoCocaína
fuente
2
"Hasta donde sé, no estoy usando este disco, pero Finder dice que sí, así que debo estar equivocado". Confías demasiado en las máquinas. ;-) A menudo, las computadoras están mal y los humanos tenemos razón.
Nicolas Barbulesco
Entonces, ¿lo que estás diciendo es que tengo razón? ;)
CousinCocaine
2
Y si Spotlight es el culpable, ahórrate algunas repeticiones: apple.stackexchange.com/a/211616/15417
John2095

Respuestas:

130

lsofes de hecho tu mejor apuesta. La forma más rápida y sencilla sería esta:

sudo lsof /Volumes/myDrive

Puede tardar un par de minutos en ejecutarse, pero una vez que está completo, le brinda una lista de archivos abiertos en el disco. La salida se verá más o menos así:

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  

En este caso, es la QuickLookaplicación la que tiene un archivo abierto. Cerrar la aplicación directamente es la mejor manera de solucionar el problema. Sin embargo, eso no siempre es posible. Por ejemplo, QuickLook no aparece como una aplicación a la que puede acceder en el Dock.

Si no puede cerrar la aplicación manualmente, puede usar el killcomando para finalizarla desde la línea de comando. Para hacer eso, use el PIDde la segunda columna como ID para matar. Del ejemplo anterior, sería:

kill 2158

Tenga en cuenta que a veces eso no funciona y se killdebe utilizar una forma más agresiva . Aquí hay una serie de agresividad creciente (usando el ejemplo PID de 2158):

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

Debería poder expulsar el disco una vez que se haya eliminado el proceso / aplicación.

Una nota final, lsofpuede tomar uno o dos minutos. También puede colgarse, pero debe darle al menos unos minutos antes de decidir que es lo que sucedió.

Además, a veces el comando base sudo lsof /Volumes/myDriveno encontrará nada. Si eso sucede, intente agregar el +Dargumento (es decir sudo lsof +D /Volumes/myDrive). Eso hará un escaneo de arriba hacia abajo del disco. Tardará más, pero debería detectar cualquier cosa que esté causando que el disco no se pueda expulsar.

( Punta de sombrero para la publicación de Alec Jacobson para detalles adicionales ) .

Paul Gilfedder
fuente
1
También encontré esto, pero esperaba que alguien tuviera una solución no terminal. Si no, obtendrás tu más uno;)
CousinCocaine
3
→ Paul: Te sugeriría que mejoraras tu comando sugerido como:/usr/bin/sudo lsof /Volumes/myDrive
dan
3
Oh, excelente, hice lsof sin sudo, lo que da un conjunto de resultados totalmente diferente.
Alper
2
Sí, sudo definitivamente es necesario en muchos casos. En mi caso, esto reveló que se debía a que Spotlight intentaba indexar el disco, por lo que la solución fue desactivar Spotlight para el disco y luego detener / reiniciar manualmente Spotlight.
Tom
30

¿Lo has intentado $ diskutil unmount /Volumes/Diskname?

O $ diskutil unmount force /Volumes/Diskname?

Como señala la página de manual :

Debido a la naturaleza compleja y entretejida de Mac OS X, umount puede fallar con frecuencia. Se recomienda utilizar diskutil (1) (como en "diskutil unmount / mnt") en su lugar.

Si su volumen tiene espacios en el nombre, asegúrese de escapar de los espacios con \, por ejemplo:

$ diskutil unmount /Volumes/Disk\ Name

O use comillas para evitar confusiones.

$ diskutil unmount "/Volumes/Disk Name"
Jason Robinson
fuente
1
Creo que probé esto y no funcionó. Pero la próxima vez lo intentaré nuevamente y actualizaré mi publicación en consecuencia.
CousinCocaine
Su ejemplo tiene comillas, no apóstrofes. Lo que es algo bueno.
Nicolas Barbulesco
1
@NicolasBarbulesco: Gracias por señalar eso, hice correcciones a la respuesta. ¡Buena atrapada!
Jason Robinson el
1
Trabajado -> sudo diskutil unmount force / Volumes / Diskname
tgkprog
1
@tgkprog Me alegra escucharlo, también gracias por el sudocomando, que también puede ayudar a otros.
Jason Robinson
15

Su problema probablemente sea causado por el proceso  mds : Spotlight indexando su disco.

Tengo este problema y aún no he encontrado una solución.

Nicolas Barbulesco
fuente
Así es como deshabilitar / volver a habilitar la indexación de Spotlight
rstackhouse
También encontré que el servicio mds lo usa. Traté de deshabilitar el servicio mds para la unidad flash usando "sudo mdutil -i off / Volumes / 16GB" pero tampoco me ayudó. Tuve que relanzar el Finder usando "Opción + Clic" en FInder.
Aruna
6

Puede probar la aplicación de donación " ¿Qué me mantiene? " Que muestra qué proceso / aplicación está usando el volumen / carpeta / archivo.

Este programa está certificado por el desarrollador para Mac OS X 10.6 Snow Leopard, pero la página RoaringApps para esta aplicación lo enumera como funcionando bien en OS X 10.7 Lion y OS X 10.8 Mountain Lion.

Sobre lo que me mantiene?

¿Alguna vez ha tenido el problema de no poder vaciar la Papelera o expulsar un disco porque algo lo impide? Por lo general, la razón se debe a que algunas aplicaciones tienen un archivo abierto y, por lo tanto, no puede deshacerse del disco ni desecharlo. ¡Es por eso que creamos What's Keeping Me! What's Keeping Me identificará la aplicación que mantiene abierto el elemento. Luego puede usar What's Keeping Me para salir de la aplicación problemática (o eliminarla si es necesario) para que pueda realizar su tarea. ¡What's Keeping Me incluye un flujo de trabajo de Automator para que también puedas realizar búsquedas directamente desde Finder!

MK
fuente
1
Parece un software válido, pero realmente prefiero las soluciones nativas de OS X.
CousinCocaine
¿Por nativo quieres decir algo que Apple ofrece? No hay nada de eso en el frente de la GUI. Además, WKM ha existido por varios años.
MK
Gracias por tu aportación. Nativo no es la palabra correcta, lo que quise decir era 'no tercero'. WKM es una buena solución, pero personalmente prefiero lsof.
CousinCocaine
Acabo de probar la aplicación en High Sierra y aún funciona. También es de 64 bits.
dianeoforegon
4

Recibí este mensaje a pesar de estar seguro de que no hay archivos abiertos en el volumen . Verifiqué esto con Why Not Unmount , una herramienta GUI que puede indicar archivos abiertos en un disco.

En mi caso, fue una señal de que el sistema de archivos está dañado. Ejecutar la Utilidad de Discos (o si eso no fuera suficiente, DiskWarrior) resolvió el problema y volvió a expulsar el disco.

Hobbes
fuente
1
En mi caso, el sistema no estaba dañado.
CousinCocaine
Parece improbable. Lo más probable es que Spotlight o alguna otra aplicación o servicio tenga un bloqueo en el disco.
Tom
3

Tanto la solución de línea de comandos como What's Keeping Me funcionan muy bien.

Para recapitular, la línea de comando en la terminal es:

lsof | grep /Volumes/myDrive

La aplicación GUI es What's Keeping Me, disponible en Hamsoft Engineering .

Capturas de pantalla de ambos con la misma búsqueda en curso.

Salida de línea de comando GUI para lo que me mantiene

Prefiero la línea de comando solo un poco, ya que siempre está ahí contigo. Por otro lado, What's Keeping Me es más rápido y fácil de usar si lo tienes instalado.

Foliovision
fuente
3

NOTA: mientras tanto, fseventerOS X 10.10 Yosemite y la página del desarrollador http://www.fernlightning.com se desconectaron. Por lo tanto, los enlaces del producto fueron eliminados. Con brew cask install fseventertodavía pueden estar disponibles en versiones mayores MacOS.

Hay una alternativa GUI a la aplicación CLI lsof:
fseventeres una gran utilidad de monitoreo de acceso al sistema de archivos para varios propósitos . Se ejecuta con permisos de superusuario ( sudo), por lo que ve todos los accesos de lectura / escritura de todos los sistemas de archivos montados y los presenta en una descripción muy clara.

Mi experiencia: tenía un Volumen que constantemente no podía ser expulsado correctamente (como en las capturas de pantalla del OP), y siempre necesitaba una "expulsión forzada", a veces incluso una desconexión física forzada (¡ni recomendado! Podría dañar su sistema de archivos en ese disco) o un apagado del sistema para evitar ese método bruto.

Mi solución: Resumido: El problema de expulsión puede ser causado por contenido de archivo corrupto o heredado en ese Volumen. Eliminar el contenido problemático puede solucionarlo permanentemente. En detalle:

  1. Determine a qué archivo se accede (con lsofo fseventer). En mi caso, era un archivo clásico de Mac OS con una bifurcación de recursos que permanecía abierta, probablemente debido a algún proceso de análisis de disco en segundo plano (Spotlight, QuickLook o similar) colgado en él.

  2. Haga una copia de seguridad de los datos problemáticos en un archivo comprimido (que conserva los datos de recursos específicos de Mac (Clásico)). Simplemente utilicé la función "Comprimir" nativa de Finder desde su menú contextual.

  3. Eliminar el archivo / carpeta con problemas.

    • Con Finder como siempre. Probablemente esto fallará, ya que es un "archivo / carpeta con problemas".
    • Con Finder plus manteniendo presionado ALT mientras vacía la Papelera. Esto crea un poco más de fuerza, pero probablemente seguirá fallando.
    • A través de la Terminal con sudo rm -R /path/to/troublesome/FileOrFolder. Esto finalmente funcionó después de que los intentos de eliminación de Finder fallaran.
  4. Intente desmontar el volumen nuevamente. Todavía puede fallar, ya que los procesos en segundo plano, que fallaron, podrían estar todavía en un estado irrecuperable .

  5. Reiniciar. Luego intente desmontar nuevamente. A partir de entonces, el Volumen volvió a funcionar bien. Montaje normal, desmontaje, operaciones de lectura / escritura. Solo cuando un archivo fue realmente abierto por un proceso de usuario, se evitó el desmontaje. Comportamiento perfectamente normal de nuevo.

porg
fuente
1

Solución Asegúrese de que todos los programas estén cerrados. Haga clic en el icono de Apple en la esquina superior izquierda de la pantalla, luego haga clic en Forzar salida. En la lista, haga clic en Finder. Ahora haga clic en el botón Relanzar. Luego intente expulsar el disco nuevamente.

madocking
fuente
¿Viste esta solución funcionar?
Nicolas Barbulesco
1

Intenta reiniciar el Finder. Aqui funciona

Alain
fuente
No estoy seguro de por qué esto fue rechazado; En mi caso, QuickLook y mds tenían control (a pesar de que no se abrieron ventanas activas del buscador). Pude reiniciar mds, pero qlmanage -rdije que estaba "reiniciando quicklookd" pero que aún mantenía el archivo abierto de acuerdo con lsof +D /path/to/volume. Un relanzamiento del buscador lo borró y pude expulsar el volumen.
AC Capehart
-2

Reinicié mi Mac y eso lo solucionó :-)

Genio
fuente
1
Prefiero un desmontaje limpio de la unidad. Como estoy en medio de varias tareas, no es preferible cerrar sesión e iniciar sesión, al igual que la instalación de software de terceros.
CousinCocaine