Depois de trabalhar com um disco de backup USB externo, quero desmontar a unidade de maneira limpa. Ao pressionar o botão 'ejetar', o Finder me avisa com a mensagem:
- " O volume não pode ser ejetado porque está em uso no momento. "
ou
- " O disco" Diskname "não foi ejetado porque um ou mais programas podem estar usando - o. ".
ou ao tentar usar o terminal: umount /Volumes/Diskname
- " umount (/ Volumes / Diskname): Recurso ocupado - tente 'desmontar diskutil' "
Tanto quanto sei, não estou usando esse disco, mas o Finder diz que sim, então devo estar errado. Eu prefiro uma desmontagem limpa da unidade. Como estou no meio de várias tarefas, desconectar e desconectar não é o preferido, assim como a instalação de software de terceiros.
O comando terminal lsof
pode ser útil aqui, mas pessoalmente acho que isso é muito complexo para um problema "simples" e, para ser sincero, não sei como usá-lo corretamente.
Minha pergunta: como sei que programa está usando minha unidade para que eu possa sair corretamente e ejetar minha unidade?
fonte
Respostas:
lsof
é realmente sua melhor aposta. A maneira mais rápida e fácil seria esta: -Pode levar alguns minutos para ser executado, mas, uma vez concluído, ele fornece uma lista de arquivos abertos no disco. A saída será mais ou menos assim:
Nesse caso, é o
QuickLook
aplicativo que possui um arquivo aberto. Fechar o aplicativo diretamente é a melhor maneira de corrigir o problema. No entanto, isso nem sempre é possível. Por exemplo, o QuickLook não aparece como um aplicativo que você pode acessar no Dock.Se você não conseguir fechar o aplicativo manualmente, poderá usar o
kill
comando para finalizá-lo na linha de comando. Para fazer isso, use oPID
da segunda coluna como o ID para matar. Do exemplo acima, seria:Observe que às vezes isso não funciona e uma forma mais agressiva de
kill
deve ser usada. Aqui está uma série de agressividade crescente (usando o exemplo PID de 2158):Você deve poder ejetar o disco depois que o processo / aplicativo for finalizado.
Uma nota final,
lsof
pode demorar um ou dois minutos. Também pode travar, mas você deve esperar pelo menos alguns minutos antes de decidir que foi o que aconteceu.Além disso, às vezes o comando base
sudo lsof /Volumes/myDrive
não encontra nada. Se isso acontecer, tente adicionar o+D
argumento (iesudo lsof +D /Volumes/myDrive
). Isso fará uma verificação de cima para baixo do disco. Vai levar mais tempo, mas deve pegar qualquer coisa que esteja causando a injeição do disco.( Dica para o post de Alec Jacobson para obter detalhes adicionais. )
fonte
/usr/bin/sudo lsof /Volumes/myDrive
Você já tentou
$ diskutil unmount /Volumes/Diskname
?Ou
$ diskutil unmount force /Volumes/Diskname
?Como a página de manual indica:
Se o seu volume tiver espaços no nome, não se esqueça de escapar dos espaços com
\
, por exemplo:Ou use aspas para evitar confusão.
fonte
sudo
comando, que pode ajudar outras pessoas também.Seu problema provavelmente é causado pelo processo
mds
: Spotlight indexando seu disco.Eu tenho esse problema e ainda não encontrei uma solução.
fonte
Você pode tentar o aplicativo donationware " O que está me mantendo? ", Que mostra qual processo / aplicativo está usando o volume / pasta / arquivo.
Este programa é certificado pelo desenvolvedor para o Mac OS X 10.6 Snow Leopard, mas a página RoaringApps para este aplicativo o relaciona como funcionando bem no OS X 10.7 Lion e no OS X 10.8 Mountain Lion.
fonte
Recebi essa mensagem apesar de ter certeza de que não há arquivos abertos no volume . Eu verifiquei isso com o Why Not Unmount , uma ferramenta da GUI que pode indicar arquivos abertos em um disco.
No meu caso, era um sinal de que o sistema de arquivos está corrompido. A execução do Disk Utility (ou, se isso não bastasse, o DiskWarrior) resolveu o problema e tornou o disco ejetado novamente.
fonte
Tanto a solução de linha de comando quanto o What's Keeping Me funcionam muito bem.
Para recapitular, a linha de comando no terminal é:
O aplicativo GUI é o What's Keeping Me, disponível na Hamsoft Engineering .
Capturas de tela de ambos com a mesma pesquisa em andamento.
Eu prefiro a linha de comando apenas um pouco, pois está sempre lá com você. Por outro lado, o What's Keeping Me é mais rápido e fácil de usar, se você o tiver instalado.
fonte
NOTA:
fseventer
funciona até o OS X 10.10 Yosemite e a página do desenvolvedor http://www.fernlightning.com ficarem offline. Portanto, os links do produto foram removidos. Combrew cask install fseventer
ele, ainda pode estar disponível nas versões anteriores do macOS.Há uma alternativa de GUI para o aplicativo CLI
lsof
:fseventer
é um ótimo utilitário de monitoramento de acesso ao sistema de arquivos para vários propósitos . Ele é executado com permissões de superusuário (sudo
), portanto, ele vê todos os acessos de leitura / gravação de todos os sistemas de arquivos montados e os apresenta em uma visão muito clara.Minha experiência: eu tinha um volume que constantemente não podia ser ejetado adequadamente (como nas capturas de tela do OP) e sempre precisava de uma "ejeção forçada", às vezes até uma desconexão física forte (nem recomendada! Poderia danificar seu sistema de arquivos) disco) ou um desligamento do sistema para ignorar esse método bruto.
Minha correção: Resumido: o problema de ejeção pode ser causado por conteúdo de arquivo herdado ou corrompido nesse volume. A remoção do conteúdo problemático pode corrigir isso permanentemente. Em detalhe:
Determine qual arquivo é acessado (com
lsof
oufseventer
). No meu caso, era um arquivo Classic Mac OS com uma bifurcação de recursos que permanecia aberta, provavelmente porque havia algum processo de análise de disco em segundo plano (Spotlight, QuickLook ou similar).Faça backup desses dados problemáticos em um arquivo morto (que preserva dados de recursos específicos do Mac (clássico)). Eu simplesmente usei a função "Compress" nativa do Finder no menu de contexto.
Exclua o arquivo / pasta com problemas.
sudo rm -R /path/to/troublesome/FileOrFolder
. Isso acabou funcionando após as tentativas de exclusão do Finder falharem.Tente desmontar o volume novamente. Ele ainda pode falhar, pois os processos em segundo plano, que falharam, ainda podem estar em um estado irrecuperável .
Reiniciar. Em seguida, tente desmontar novamente. A partir de então, o volume funcionou bem novamente. Operações normais de montagem, desmontagem, leitura / gravação. Somente quando um arquivo foi realmente aberto por um processo do usuário, a desmontagem foi impedida. Comportamento perfeitamente normal novamente.
fonte
Solução Verifique se todos os programas estão fechados. Clique no ícone Apple no canto superior esquerdo da tela e clique em Forçar encerramento. Na lista, clique em Localizador. Agora clique no botão Relançar. Em seguida, tente ejetar a unidade novamente.
fonte
Tente reiniciar o Finder. Aqui trabalha
fonte
qlmanage -r
disse que estava "redefinindo o quicklookd", mas ainda mantinha o arquivo aberto de acordo comlsof +D /path/to/volume
. Um relançamento do localizador esclareceu tudo e eu pude ejetar o volume.Eu reiniciei meu Mac e o consertei :-)
fonte