A veces, cuando quiero desmontar un dispositivo, p. Ej.
sudo umount /dev/loop0
Recibiré el mensaje
umount: /mnt: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
Por lo general, resuelvo este problema cerrando una ventana de consola (en mi caso xfce4-terminal) y luego umount
.
¿Qué significa este problema? ¿Hay alguna solución más inteligente?
Respuestas:
Significa que algún proceso tiene un directorio de trabajo o un identificador de archivo abierto debajo del punto de montaje. Lo mejor que puede hacer es finalizar el proceso ofensivo, cambiar su directorio de trabajo o cerrar el identificador de archivo antes de desmontarlo.
Sin embargo, hay una alternativa en Linux. Usando
umount -l
llamadas un "perezoso" desmontar. El sistema de archivos aún estará montado, pero no podrá verlo ni usarlo, excepto en los procesos que ya lo están usando. Cuando el programa infractor sale (por cualquier medio), el sistema "terminará" desmontando el sistema de archivos.fuente
lsof
es probablemente la mejor manera.lsof | grep loop0
?También puede usar
fuser
para eliminar todos los procesos que utilizan el sistema de archivos montado.Opciones:
Compruébelo usted mismo en explicahell .
fuente
Dada su "solución habitual", significa que el shell que está ejecutando en la ventana de su consola tiene un directorio en un sistema de archivos en ese dispositivo como su directorio de trabajo actual.
Linux, y Unixes en general, desean mantener un sistema de archivos montado si un proceso tiene un directorio de trabajo actual en ese sistema de archivos.
Simplemente puede usar
cd
en la ventana de la consola para salir de un directorio dentro o debajo en/mnt
lugar de matar la ventana de la consola y el shell que se ejecuta dentro de ella.fuente
Descubrí una situación que puede interferir con el desmontaje de un dispositivo que compartiré como respuesta a pesar de que esta pregunta es muy antigua.
Si tiene recursos compartidos NFS alojados en la máquina, y cualquiera de esos recursos compartidos NFS está respaldado por el dispositivo que está intentando desmontar, deberá dejar de compartirlos (lo mejor es detener el servicio NFS, por ejemplo,
sudo service nfs-kernel-server stop
en versiones recientes de Ubuntu ) Es posible que el servidor NFS no aparezca en lsof o fusor, lo que puede dificultar la identificación del problema.fuente