Porque é que o Mac diz 'Disco em utilização' sem nada aberto
Fechou todas as aplicações. Nenhuma janela do Finder está aberta. No entanto, o macOS insiste que algo está a utilizar a sua unidade. Saiba o que está realmente a acontecer.
Fechou tudo. Safari, encerrado. Janelas do Finder, fechadas. Aquele documento que estava a editar, guardado e fechado. Clica em ejetar na sua unidade externa e o macOS diz-lhe que algo ainda a está a utilizar.
Verifica novamente. Nada visível está a correr. Nenhuma barra de progresso em lado nenhum. A unidade está ali parada, sem fazer nada até onde consegue perceber. Mas algo, invisível para si, tem as garras no seu disco.
Esta é uma das experiências mais frustrantes no macOS porque o problema parece impossível. Fez tudo bem. Encerrou o seu trabalho. E o sistema continua a bloqueá-lo por razões que não explica.
Os processos invisíveis
A maior parte do que corre no seu Mac é invisível. Por trás das aplicações com que interage, dezenas de processos de fundo tratam de tarefas em que nunca pensa: indexação de ficheiros para pesquisa, geração de miniaturas, sincronização de dados, monitorização de alterações.
Estes processos não têm janelas. Não aparecem na sua Dock. Alguns deles nem sequer aparecem no Monitor de Atividade, a menos que saiba onde procurar. Mas todos podem aceder à sua unidade externa e qualquer um deles pode impedir a ejeção.
Quando o macOS diz que "um ou mais programas podem estar a utilizar" o seu disco, geralmente não está a mentir. Algo está a utilizá-lo. A parte má é que o macOS se recusa a dizer-lhe o quê.
Os suspeitos do costume
O Spotlight é o bloqueador invisível mais comum. No momento em que liga uma unidade externa, o Spotlight começa a indexá-la. Os processos de indexação (mds, mds_stores, mdworker) correm em fundo sem qualquer indicação visível de que estão a trabalhar. Podem manter ficheiros abertos durante minutos ou horas, dependendo de quanto conteúdo existe na unidade.
O QuickLook é mais matreiro. Quando navega numa pasta, o macOS gera miniaturas e pré-visualizações. Os processos do QuickLook (QuickLookUIService, quicklookd) por vezes prendem ficheiros mesmo depois de ter fechado a janela do Finder. Olhou para a pasta há dez minutos, mas o QuickLook ainda está a pensar nela.
O Time Machine, se estiver ativado, monitoriza constantemente as unidades de backup. Mesmo quando não está a decorrer nenhum backup, o processo backupd mantém ligações aos volumes do Time Machine. Está a vigiar alterações, pronto para iniciar a próxima cópia de segurança.
O iCloud e outros serviços de sincronização podem aceder a unidades externas se tiver guardado pastas sincronizadas nelas. O serviço de sincronização pode estar a verificar o estado do ficheiro ou à espera para carregar alterações.
O próprio Finder executa operações de fundo que não vê. Atualizações de metadados de ficheiros, gestão do lixo e cálculos da barra lateral acontecem de forma invisível. Fechar uma janela do Finder não encerra necessariamente a relação do Finder com uma unidade.
Encontrar o culpado
A única forma fiável de ver o que está a bloquear a sua unidade é o Terminal. Execute este comando, substituindo o nome da unidade pela sua:
lsof /Volumes/NomeDaSuaUnidade
Isto lista todos os processos com ficheiros abertos na unidade. O resultado é técnico, mas legível. A coluna COMMAND mostra os nomes dos processos e a coluna NAME mostra que ficheiros têm abertos.
Coisas comuns que verá:
mdsoumdworker: Indexação do SpotlightQuickLookUIService: Geração de miniaturasFinder: Uma operação do Finder ou referência da barra lateralbackupd: Monitorização do Time Machinebirdoucloudd: Sincronização do iCloud
Se a lista for longa, encontrou os seus utilizadores invisíveis. Se estiver vazia, o problema pode ter-se resolvido sozinho e pode tentar ejetar novamente.
Salte as etapas manuais: O Ejecta mostra-lhe exatamente qual o processo que está a bloquear o seu disco — e permite-lhe encerrá-lo com um clique, direto da sua barra de menus. Saber mais →
Parar os processos invisíveis
Assim que souber o que está a bloquear a unidade, tem opções.
Para o Spotlight, desative a indexação na unidade:
sudo mdutil -i off /Volumes/NomeDaSuaUnidade
Isto diz ao Spotlight para deixar a unidade em paz. Pode reativar a indexação mais tarde se quiser pesquisar o conteúdo da unidade.
Para o QuickLook, limpe a sua cache:
qlmanage -r cache
Isto limpa o que o QuickLook estava a prender e normalmente liberta a unidade.
Para o Finder, reinicie-o premindo Option, clicando com o botão direito no ícone do Finder na Dock e selecionando Reiniciar. Isto reinicia todas as ligações do Finder.
Para outros processos, pode encerrá-los no Monitor de Atividade. Pesquise pelo nome do processo, selecione-o e clique no botão X. A maioria dos processos do sistema reinicia automaticamente, mas a unidade deverá ser libertada.
Prevenir o problema
Se não precisa de pesquisar numa unidade externa com o Spotlight, adicione-a à lista de Privacidade nas Definições do Sistema, em Siri e Spotlight. Unidades nesta lista nunca são indexadas, o que elimina o bloqueador de ejeção mais comum.
Crie um ficheiro chamado .metadata_never_index na raiz da sua unidade externa. O Spotlight verifica este ficheiro e ignora a indexação de qualquer unidade que o tenha. Isto é útil para unidades que move entre vários Macs.
Tenha atenção ao que está guardado nas suas unidades externas. Se colocar pastas do iCloud, pastas de sincronização ou backups do Time Machine nelas, conte que processos de fundo as acedam constantemente.
A melhor abordagem
Procurar resultados no Terminal de cada vez que quer desligar uma unidade torna-se cansativo rapidamente. A informação está lá, mas o fluxo de trabalho é pouco prático.
O Ejecta mostra-lhe a mesma informação num formato mais limpo. Clique numa unidade bloqueada, veja o que a está a bloquear, encerre esse processo com outro clique. Sem comandos para recordar, sem dados técnicos para analisar.
O problema de fundo é que o macOS corre dezenas de processos invisíveis que podem prender a sua unidade. Saber que eles existem é o primeiro passo. Ser capaz de ver exatamente qual deles é o problema, sem mudar para o Terminal, é uma experiência muito melhor.
Se prefere não utilizar o Terminal todas as vezes, o Ejecta mostra-lhe exatamente qual o processo que está a bloquear o seu disco — e permite-lhe encerrá-lo com um clique, direto da sua barra de menus.
Comprar Agora — $9.99