¿Dónde se almacenan los datos del portapapeles?

11

¿Hay un archivo real donde se almacenan los datos mientras tengo algo en mi portapapeles?

    
pregunta Tomulent 01.10.2014 - 16:15

3 respuestas

13

Pasteboard se maneja mediante el proceso pbs en OS X. Las cosas que se copian se almacenan dentro del espacio de direcciones pbs . Más sobre esto está en Apple Artículo de Pasteboard Server .

  

Ya sea que los datos se transfieran entre objetos en la misma aplicación o en dos aplicaciones diferentes, en una aplicación Cocoa, la interfaz es la misma: un objeto NSPasteboard accede a un repositorio compartido donde los escritores y lectores se reúnen para intercambiar datos. El escritor, conocido como el propietario de la mesa de trabajo, deposita los datos en una instancia de la mesa de trabajo y continúa. Luego, el lector accede a la mesa de trabajo de forma asíncrona, en algún punto no especificado en el futuro. Para ese momento, el objeto escritor puede que ya no exista. Por ejemplo, un usuario puede haber cerrado el documento de origen o salir de la aplicación.

     

En consecuencia, al mover datos entre dos aplicaciones diferentes y, por lo tanto, dos espacios de direcciones diferentes, se involucra un tercer espacio de memoria, por lo que los datos persisten incluso en ausencia de la fuente. NSPasteboard proporciona acceso a un tercer espacio de direcciones, un proceso de servidor de cartón (pbs), que siempre se ejecuta en segundo plano. El servidor de pasteboard mantiene un número arbitrario de pasteboard individuales para distinguir entre varias transferencias de datos concurrentes.

    
respondido por el Mateusz Szlosek 01.10.2014 - 16:41
5

Como señaló Mateusz, no hay ningún archivo con esta información. Sin embargo, puedes usar pbcopy y pbpaste para manipular la mesa de trabajo.

Por ejemplo, ls | pbcopy copiará la salida (stdout) de ls a la mesa de trabajo.

Página de manual para pbcopy.

    
respondido por el aglasser 01.10.2014 - 17:04
2

El proceso del servidor de pasteboard es pboard no pbs , y puede verificarlo revisando las páginas de manual para ambas.

Ahora que sabemos el proceso correcto, podemos:

  1. cargar Monitor de actividad
  2. busque el proceso pboard
  3. obtener información usando cmd + i
  4. ver Abrir archivos y puertos

Podemos ver que los únicos archivos que tiene abiertos son sí mismo, dyld y el caché dyld.

    
respondido por el Matt Sephton 08.03.2018 - 23:27

Lea otras preguntas en las etiquetas