Espacio de tecnologia, software libre y sus derivados. Una horda de monos entrenados escriben de vez en cuando por aqui algunas noticias, opiniones e incluso alguna que otra cosa fuera del tema. Maqueros, favor de abstenerse que no somos lo suficientemente guapos.

Piano daemon

Tuberias en LINUX

    #include "stdio.h"
    #include "stdlib.h"
    #include "errno.h"
    #include "unistd.h"

    int main(){

	//Aqui se define STDIN como el elemento 0 del arreglo pfds
	//Aqui se define STDOUT como el elemento 1 del arreglo pfds
	//Aqui se define STDERR como el elemento 2 del arreglo pfds
        int pfds[2];

	// Establecemos un buffer de 30 bytes
        char buf[30];

	//Creamos la tuberia
        if (pipe(pfds) == -1) {
            perror("pipe");
            exit(1);
        }

        printf("Escribiendo sobre el file descriptor de STDOUT");
        write(pfds[1], "Edwin", 5);
        printf("Lellendo sobre el file descriptor de STDIN");
        read(pfds[0], buf, 5);
        printf("Valor transportado en nuestra tuberia: \"%s\"n", buf);
    }

pipe1.gif

Basicamente, una llamada a pipe() retorno un par de file descriptors.

Comenta