Abrir archivos
Los procesos con archivos abiertos son los culpables habituales. Mostrarlos:
lsof +f -- <mountpoint or device>
Hay una ventaja en el uso en /dev/<device>
lugar de /mountpoint
: un punto de montaje desaparecerá después de un umount -l
, o puede estar oculto por un montaje superpuesto.
fuser
También se puede utilizar, pero en mi opinión lsof
tiene una salida más útil. Sin embargo, fuser
es útil cuando se trata de matar los procesos que causan tus dramas para que puedas seguir con tu vida.
Listar archivos en <mountpoint>
(ver advertencia arriba):
fuser -vmM <mountpoint>
Elimine interactivamente solo procesos con archivos abiertos para escritura:
fuser -vmMkiw <mountpoint>
Después de volver a montar solo lectura ( mount -o remount,ro <mountpoint>
), es seguro (r) eliminar todos los procesos restantes:
fuser -vmMk <mountpoint>
Puntos de montaje
El culpable puede ser el núcleo mismo. Otro sistema de archivos montado en el sistema de archivos que está intentando umount
causarle dolor. Verifícalo con:
mount | grep <mountpoint>/
Para montajes de bucle invertido, verifique también la salida de:
losetup -la
Inodos anónimos (Linux)
Los inodos anónimos pueden ser creados por:
- Archivos temporales (
open
con O_TMPFILE
)
- relojes inotify
- [eventfd]
- [eventpoll]
- [timerfd]
Estos son el tipo de pokemon más difícil de alcanzar, y aparecen en lsof
la TYPE
columna como a_inode
(que no está documentada en la lsof
página del manual ).
No aparecerán lsof +f -- /dev/<device>
, por lo que deberá:
lsof | grep a_inode
Para ver los procesos de eliminación de inodos anónimos, consulte: Lista de relojes inotify actuales (nombre de ruta, PID) .