vistas vista usuario una tablas tabla procedimientos procedimiento privilegios permisos para otorgar guardar dar crear como almacenados almacenado c architecture linux-kernel system

c - vista - permisos para tablas



memoria cruzada adjuntar. ¿Cómo obtengo la dirección remota de un proceso hijo a un proceso principal? (1)

Las llamadas al sistema process_vm_readv y process_vm_writev están destinadas a la transferencia rápida de datos entre procesos. Se supone que deben usarse además de alguna forma tradicional de comunicación entre procesos.

Por ejemplo, puede usar un tubo regular o fifo para transferir las direcciones requeridas entre sus procesos. Luego puede usar esas direcciones para establecer una comunicación process_vm_ más rápida. La forma más sencilla de transferir algo entre procesos bifurcados debe ser la función pipe() ( man 2 pipe tiene un buen ejemplo de su uso). Hay muchas otras formas de hacerlo, por supuesto, como usar sockets o mensajes. Incluso puede escribir una dirección en un archivo y dejar que el otro proceso lo lea.

Linux Kernel versión 3.2 y además tienen una capacidad llamada cross memory attach.

Aquí está el link para esto. No pude obtener mucha ayuda en ese sentido. http://man7.org/linux/man-pages/man2/process_vm_readv.2.html

En la sintaxis necesitamos la dirección de la memoria remota desde donde queremos escribir o leer. Mi pregunta es cómo obtengo la dirección de esta memoria remota si estoy usando fork ().

Supongamos que estoy enviando algo desde el proceso principal al proceso secundario usando la conexión cruzada de memoria. ¿Cómo envío la dirección de la memoria remota al proceso principal desde el proceso secundario?