Abrir arquivos
Processos com arquivos abertos são os culpados de sempre. Mostre-os:
lsof +f -- <mountpoint or device>
Há uma vantagem em usar, em /dev/<device>
vez de /mountpoint
: um ponto de montagem desaparece após um umount -l
ou pode ser oculto por um suporte sobreposto.
fuser
também pode ser usado, mas na minha opinião lsof
tem uma saída mais útil. No entanto, fuser
é útil quando se trata de matar os processos que causam seus dramas, para que você possa continuar sua vida.
Liste os arquivos <mountpoint>
(veja a advertência acima):
fuser -vmM <mountpoint>
Interaja apenas com processos abertos com arquivos abertos para gravação:
fuser -vmMkiw <mountpoint>
Após remontar somente leitura ( mount -o remount,ro <mountpoint>
), é seguro (r) eliminar todos os processos restantes:
fuser -vmMk <mountpoint>
Pontos de montagem
O culpado pode ser o próprio kernel. Outro sistema de arquivos montado no sistema de arquivos que você está tentando umount
causar luto. Verificar com:
mount | grep <mountpoint>/
Para montagens de loopback, verifique também a saída de:
losetup -la
Inodes anônimos (Linux)
Inodes anônimos podem ser criados por:
- Arquivos temporários (
open
com O_TMPFILE
)
- inotify relógios
- [eventfd]
- [eventpoll]
- [timerfd]
Estes são o tipo mais evasivo de pokemon, e aparecem em lsof
's TYPE
coluna como a_inode
(o que não é documentado na lsof
página do manual ).
Eles não aparecerão lsof +f -- /dev/<device>
, então você precisará:
lsof | grep a_inode
Para processos de eliminação que contêm inodes anônimos, consulte: Listar os relógios atuais para identificação (nome do caminho, PID) .