Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las “Named Pipes” o “Tuberias Nombradas” son el nombre de una tecnica para lograr
realizar una comunicacion entre procesos, a esto se le conoce como IPC (Inter Process
Communication). Permite a dos procesos en una misma maquina o de diferentes
maquinas conectadas compartir mensajes entre procesos para comunicarse, esto es
necesario en ocasiones en sistemas multitarea o multiproceso.
Las principales caracteristicas de una tuberia nombrada son:
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
int main(){
int t;
char *tuberia = "/tmp/tuberia";
/*
abrimos una nueva tuberia
O_RDONLY - Abrir para solo lectura
O_WRONLY - Abrir para solo escritura
O_RDWR - Abrir para lectura / escritura
O_APPEND - Agrega al final del Archivo
...
*/
t = open(tuberia,O_WRONLY);
//escribimos el mensaje que compartiremos
write(t,"Mensaje entre Procesos",sizeof("Mensaje entre
Procesos"));
//cerramos la tuberia
close(t);
//borramos
unlink(tuberia);
return 0;
}
Compilamos:
sudo gcc -o writer writer.c
Clase Lectora
#include <fcntl.h>
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
int main(){
int t;
char *tuberia = "/tmp/tuberia";
char msj[MAX_BUF];
//abre la tuberia
t = open(tuberia,O_RDONLY);
//lee el mensaje desde la tuberia y lo almacena
read(t,msj,MAX_BUF);
//imprime el valor que comparte el otro proceso
printf("Recibido: %sn",msj);
//cerramos el tubo
close(t);
return 0;
Compilamos:
sudo gcc -o reader reader.c
sudo ./writer
sudo ./reader