From 7e915df8a6dc91d34da9eb28ddbd716d884052b4 Mon Sep 17 00:00:00 2001 From: victor Date: Fri, 6 Oct 2023 17:23:57 +0200 Subject: [PATCH] pipe1 y 2 --- Pipe/pipe3.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Pipe/pipe3.c diff --git a/Pipe/pipe3.c b/Pipe/pipe3.c new file mode 100644 index 0000000..3027062 --- /dev/null +++ b/Pipe/pipe3.c @@ -0,0 +1,31 @@ +#include +#include +#include +#include +#include +#include +void main(void) { + char saludoPadre[]="Buenos días hijo.\0"; + char buffer[30]; + int fd[2]; // 0 lectura y 1 escritura + pipe (fd); // creamos el pipe + pid_t pid; + pid = fork(); // se crea el proceso hijo + switch(pid) { + case -1: // error printf("Algo falló ..."); + exit(-1); + break; + case 0: // soy el hijo + close(fd[1]); // cierra el descriptor de escritura = entrada + read(fd[0], buffer, sizeof(buffer)); + printf("\tEl hijo recibe algo del pipe: %s\n",buffer); + break; + default: // padre envía + close(fd[0]); + write(fd[1],saludoPadre, strlen(saludoPadre)); //escribo en pipe + printf("El padre envía el mensaje al hijo ...\n"); + wait(NULL); + break; + } + return 0; +} \ No newline at end of file