11 votes

Où sont stockées les données du presse-papiers ?

Y a-t-il un fichier réel où les données sont stockées lorsque j'ai quelque chose dans mon presse-papiers ?

14voto

Mateusz Szlosek Points 21762

Le carton-pâte est géré par pbs sur OS X. Les éléments qui sont copiés sont stockés dans pbs espace d'adressage. Plus d'informations à ce sujet sont disponibles sur Apple Serveur Pasteboard article.

Que les données soient transférées entre des objets de la même application ou de deux applications différentes, dans une application Cocoa, l'interface est la même - un objet NSPasteboard accède à un référentiel partagé où les auteurs et les lecteurs se rencontrent pour échanger des données. L'auteur, appelé propriétaire du presse-papiers, dépose des données sur une instance de presse-papiers et poursuit son chemin. Le lecteur accède ensuite au presse-papiers de manière asynchrone, à un moment indéterminé dans le futur. À ce moment-là, l'objet rédacteur peut ne plus exister. Par exemple, un utilisateur peut avoir fermé le document source ou quitté l'application.

Par conséquent, lors du déplacement de données entre deux applications différentes, et donc deux espaces d'adressage différents, un troisième espace mémoire est impliqué afin que les données persistent même en l'absence de la source. NSPasteboard donne accès à un troisième espace d'adressage - un processus serveur de pasteboard (pbs) - qui tourne toujours en arrière-plan. Le serveur de presse-papiers maintient un nombre arbitraire de presse-papiers individuels pour faire la distinction entre plusieurs transferts de données simultanés.

6voto

Polo Points 574

Comme Mateusz l'a souligné, il n'y a pas de fichier avec cette information. Cependant, vous pouvez utiliser pbcopy y pbpaste pour manipuler le carton-pâte.

Par exemple, ls | pbcopy copiera la sortie (stdout) de ls sur le carton.

Page de manuel pour pbcopy.

4voto

Matt Sephton Points 4570

Le processus du serveur pasteboard est pboard no pbs et vous pouvez vérifier cela en consultant les pages de manuel des deux.

Maintenant que nous connaissons le processus correct, nous pouvons :

  1. charger Moniteur d'activité
  2. recherche de la pboard processus
  3. obtenir des informations en utilisant cmd + i
  4. voir Fichiers et ports ouverts

Nous pouvons voir que les seuls fichiers ouverts sont lui-même, dyld et le cache de dyld.

enter image description here

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X