Existe um arquivo real onde os dados são armazenados enquanto eu tenho algo na minha área de transferência?
O papelão é tratado pelo pbs
processo no OS X. Os itens copiados são armazenados no pbs
espaço de endereço. Mais sobre isso está no artigo Apple Pasteboard Server .
Se os dados são transferidos entre objetos no mesmo aplicativo ou em dois aplicativos diferentes, em um aplicativo Cocoa a interface é a mesma - um objeto NSPasteboard acessa um repositório compartilhado onde escritores e leitores se encontram para trocar dados. O gravador, chamado proprietário da área de transferência, deposita dados em uma instância de área de transferência e segue em frente. O leitor acessa a área de transferência de forma assíncrona, em algum momento não especificado no futuro. A essa altura, o objeto escritor talvez não exista mais. Por exemplo, um usuário pode ter fechado o documento de origem ou encerrado o aplicativo.
Conseqüentemente, ao mover dados entre dois aplicativos diferentes e, portanto, dois espaços de endereço diferentes, um terceiro espaço de memória é envolvido para que os dados persistam mesmo na ausência da fonte. O NSPasteboard fornece acesso a um terceiro espaço de endereço - um processo do servidor de papelão (pbs) - que está sempre sendo executado em segundo plano. O servidor de papelão mantém um número arbitrário de papéis individuais para distinguir entre várias transferências de dados simultâneas.
Como apontou Mateusz, não há arquivo com essa informação. No entanto, você pode usar pbcopy
e pbpaste
manipular a área de transferência.
Por exemplo, ls | pbcopy
copiará a saída (stdout) de ls
para a área de transferência.
O processo do servidor de área de transferência pboard
não é pbs
e você pode verificar isso verificando as páginas de manual de ambos.
Agora que sabemos o processo correto, podemos:
pboard
processoPodemos ver que os únicos arquivos abertos são ele próprio, dyld e o cache do dyld.
pboard
processo. Estranho que as informações no site Appe estejam erradas. +1