#include #include #include #include #include int main(void){ int fdsPC[2]; //Parent -> Child int fdsCP[2]; //Child -> Parent if(pipe(fdsPC) < 0){ error(errno,errno,NULL); } if(pipe(fdsCP) < 0){ error(errno,errno,NULL); } pid_t pid= fork(); if(pid < 0){ error(errno,errno,NULL); } else if (pid == 0){ close(fdsPC[1]); close(fdsCP[0]); //I am the child char buffer[100] = {0}; read(fdsPC[0],buffer,99); printf("%s\n",buffer); close(fdsPC[0]); write(fdsCP[1],"Hello dad",strlen("Hello dad")); close(fdsCP[1]); } else { close(fdsPC[0]); close(fdsCP[1]); write(fdsPC[1],"Hello Child",strlen("Hello Child")); close(fdsPC[1]); char buffer[100] = {0}; read(fdsCP[0],buffer,99); printf("%s\n",buffer); close(fdsCP[0]); } return 0; }