Use a combinação Chave do Magic SysRq : Alt + SysRq + u
Note que você deve fazer uma sincronização de emergência primeiro: Alt + SysRq + s
Observe também que em alguns teclados (especialmente novos), você tem que usar PrtSc em vez de SysRq
Como desmontar um sistema de arquivos no Linux sem investigar por que ele está ocupado?
Eu quero fazer isso em um comando. Ele deve manipular aplicativos usando esse sistema de arquivos, submontagens, contêineres ( lxc-execute -n qqq <command>
) e todas as outras coisas.
Apenas "desmontar. Sem objeções!" Patches ou configurações especiais do kernel são permitidos.
O sistema de arquivos deve estar desmontado, então umount -l
certamente não é uma opção. Por exemplo, para cryptsetup remove
(BTW como forçar cryptsetup remove
? Atualizar: cryptsetup luksSuspend
, mas você não poderá cryptsetup luksResume
se não for LUKS).
Como tornar inválidas todas as alças de arquivo naquele sistema de arquivos?
A única maneira confiável que conheço é montar o sistema de arquivos através do FUSE (geralmente não há problema em desmontar o FUSE, porque eu posso simplesmente matar o processo).
P.S. Já conhece o mount fuser
, lsof | grep
, cat /proc/*/mounts | grep
e o patch "badfs" obsoleto e não funcional.
Use a combinação Chave do Magic SysRq : Alt + SysRq + u
Note que você deve fazer uma sincronização de emergência primeiro: Alt + SysRq + s
Observe também que em alguns teclados (especialmente novos), você tem que usar PrtSc em vez de SysRq
umount --force
ou umount -f
(equivalente)
Se isso falhar, use:
umount --lazy
ou umount --l
(equivalente)
A opção " preguiçoso " irá "desanexar o sistema de arquivos da hierarquia do sistema de arquivos agora e limpar todas as referências a o sistema de arquivos assim que ele não estiver mais ocupado (Requer o kernel 2.4.11 ou posterior). "Isso pode causar instabilidade, mas irá desmontar a coisa." Qualquer programa que use a unidade pode falhar.
umount -f
pode ser usado para forçar uma desmontagem quando o sistema de arquivos estiver ocupado.
Eu tenho medo de que não há como fazer isso com um único comando. umount -f
realmente não funciona tão bem quanto se esperaria. Se houver submontagens em alguma outra montagem, você não poderá simplesmente desmontar essas montagens em alguma ordem aleatória e esperar que elas caiam.
Mas não se preocupe, há uma maneira de tornar tudo isso um único comando: crie um script shell / Perl que elimine os processos desejados, desmonte contêineres, submounts e, finalmente, desmonte algumas outras montagens. Então você pode simplesmente chamar seu script sob demanda. Inicialmente, isso é mais trabalho para você, mas depois que você começa a trabalhar no script, tudo é brincadeira de criança. :)