Como impedir que o iCloud e o Dropbox bloqueiem a ejeção do disco

Serviços de sincronização em nuvem são notórios por impedir a ejeção de discos externos no Mac. Veja por que eles prendem seus discos e como contornar isso.

Você fechou todos os aplicativos. Salvou tudo. Clicou em ejetar e o macOS diz que o disco ainda está em uso. Você executa o lsof e vê bird, cloudd ou Dropbox na saída. Um serviço de sincronização em nuvem está mantendo seu disco como refém.

Esta é uma das causas mais comuns e menos compreendidas de falhas de ejeção no Mac. Os serviços de sincronização em nuvem rodam constantemente em segundo plano e são projetados para monitorar arquivos em busca de alterações. Esse monitoramento significa handles de arquivos abertos, e handles de arquivos abertos significam que seu disco não será ejetado.

Por que os serviços de sincronização bloqueiam a ejeção

Os serviços de sincronização em nuvem funcionam observando pastas em busca de alterações. Quando um arquivo é criado, modificado ou excluído, o serviço detecta e sincroniza a alteração com a nuvem. Para detectar essas alterações, o serviço mantém handles de arquivos abertos ou usa observadores de eventos do sistema de arquivos nos diretórios que monitora.

O problema ocorre quando qualquer um dos caminhos monitorados existe em seu disco externo. Isso pode acontecer de várias maneiras:

Você armazenou explicitamente uma pasta de sincronização no disco. Talvez você tenha movido sua pasta do Dropbox para o disco externo por motivos de espaço, ou mantém uma pasta de projeto lá que é compartilhada pelo iCloud Drive.

Um aplicativo criou um arquivo no disco que um serviço de sincronização reivindicou. Alguns aplicativos salvam arquivos temporários, caches ou metadados de projeto em qualquer volume de onde estejam trabalhando.

O Spotlight indexou seu disco e um serviço de sincronização captou os dados do índice. Isso é indireto, mas acontece.

iCloud especificamente

O daemon de sincronização do iCloud no macOS chama-se bird (sim, sério). Você também verá o cloudd lidando com algumas operações de sincronização. Esses processos rodam como serviços do sistema e reiniciam automaticamente se você os encerrar.

Se o bird estiver bloqueando seu disco, ele está monitorando um arquivo ou pasta naquele volume. Gatilhos comuns incluem:

  • Mesa e Documentos no iCloud: Se você tiver esse recurso ativado e seu disco externo aparecer como um local no Finder, o iCloud pode indexar caminhos relacionados a ele.
  • Pré-visualização e QuickLook: Abrir um arquivo do seu disco externo na Pré-visualização pode criar referências de arquivos recentes sincronizados com o iCloud.
  • Pages, Numbers ou Keynote: Esses aplicativos salvam automaticamente no iCloud por padrão. Se você abriu um documento do seu disco externo, o aplicativo pode manter uma conexão entre o arquivo local e uma referência do iCloud.

Para verificar se o iCloud é o seu bloqueador:

lsof /Volumes/NomeDoSeuDisco | grep -i bird
lsof /Volumes/NomeDoSeuDisco | grep -i cloudd

Dropbox especificamente

O Dropbox é ainda mais agressivo no monitoramento de arquivos. Nas versões modernas do macOS, o cliente do Dropbox usa a estrutura File Provider da Apple (a abordagem antiga de extensão de kernel foi descontinuada no macOS 12.3) para monitorar as operações do sistema de arquivos em tempo real.

Se sua pasta do Dropbox ou qualquer pasta sincronizada pelo Dropbox estiver em seu disco externo, o Dropbox manterá conexões persistentes com esse volume. Mesmo arquivos que terminaram de sincronizar há muito tempo podem ter handles de arquivo do Dropbox neles para fins de monitoramento.

Você também pode ver o processo fileproviderd da Apple mantendo arquivos abertos em nome do Dropbox. Este é o daemon do sistema que gerencia todas as extensões do File Provider, incluindo Dropbox, OneDrive e Google Drive. Ele pode criar handles de arquivos adicionais em volumes que esses serviços estão monitorando.

A abordagem mais confiável com o Dropbox: encerre o aplicativo do Dropbox completamente antes de ejetar. Clique no ícone do Dropbox na barra de menus, clique na sua foto de perfil e selecione Encerrar. Depois de ejetar o disco, abra o Dropbox novamente.

Google Drive e OneDrive

O aplicativo de desktop do Google Drive (Drive para computador) cria um disco virtual que pode interagir com seus discos externos através de operações de arquivo. Se você copiou arquivos entre o Google Drive e seu disco externo, o cliente do Drive pode manter referências.

O OneDrive se comporta de forma semelhante ao Dropbox, com monitoramento de arquivos em segundo plano. Geralmente é menos agressivo em manter handles de arquivos, mas ainda pode bloquear a ejeção.

Ambos os serviços podem ser pausados ou encerrados pelos seus ícones na barra de menus antes da ejeção.

O fluxo de trabalho prático

Se você trabalha regularmente com arquivos em discos externos e usa serviços de sincronização em nuvem, crie o hábito de pausar a sincronização antes de ejetar.

Para o iCloud, não há um botão de pausa fácil, mas você pode desativar temporariamente o iCloud Drive em Ajustes do Sistema > Apple ID > iCloud > iCloud Drive. Isso é disruptivo, no entanto.

Para o Dropbox, pause a sincronização pelo ícone na barra de menus. Clique no ícone do Dropbox, clique no seu perfil e selecione “Pausar sincronização”.

Para o Google Drive, clique no ícone do Drive na barra de menus e selecione “Pausar sincronização”.

Depois de pausar, aguarde alguns segundos para que os handles de arquivos abertos sejam fechados e, em seguida, ejete seu disco.

Prevenindo o problema

A abordagem mais limpa é nunca armazenar pastas sincronizadas na nuvem em discos externos. Mantenha as pastas de sincronização no armazenamento interno do seu Mac e use discos externos para dados que não precisam ser sincronizados.

Se você precisar manter conteúdo sincronizado em um disco externo, crie uma separação clara. Coloque os arquivos sincronizados em uma pasta e os arquivos não sincronizados em outra. Quando precisar ejetar, você saberá qual serviço de sincronização pausar.

Evite abrir arquivos do seu disco externo com aplicativos que salvam automaticamente no iCloud (Pages, Numbers, Keynote, Pré-visualização). Ou, no mínimo, feche esses aplicativos e dê a eles um momento para liberar os handles de arquivos antes de ejetar.

Quando pausar não é suficiente

Às vezes, você pausou a sincronização, encerrou os aplicativos e o disco ainda não ejeta. O serviço de sincronização deixou um handle de arquivo antigo que persiste mesmo após a pausa.

Você pode forçar a liberação desses handles matando o processo específico:

kill $(lsof -t /Volumes/NomeDoSeuDisco)

Isso encerra todos os processos que usam o disco. É agressivo, mas eficaz.

O Ejecta lida com isso de forma mais cirúrgica. Ele identifica exatamente quais processos estão prendendo seu disco, incluindo daemons de sincronização em nuvem, e permite que você os encerre individualmente. Em vez de matar tudo o que está conectado ao disco, você pode atingir apenas o processo bird ou apenas o auxiliar do Dropbox que está causando o problema. É particularmente útil quando você não tem certeza de qual dos vários serviços de sincronização é o culpado.

Sincronização em nuvem e discos externos não precisam estar em conflito. Você só precisa de visibilidade sobre o que está acontecendo nos bastidores.

Se você prefere não usar o Terminal todas as vezes, o Ejecta mostra exatamente qual processo está bloqueando seu disco — e permite que você o encerre com um clique, direto da sua barra de menus.

Comprar Agora — $9.99