/*-------------------------------------------------------------------*/ /* testpipechild2parent.c */ /* The pipe system call. */ /*-------------------------------------------------------------------*/ /* Error handling code omitted. */ /* Read and write system call looping omitted. */ /*-------------------------------------------------------------------*/ #include #include int main(int argc, char *argv[]) { int piPipeFd[2]; int iPid; char pcBuffer[6]; pipe(piPipeFd); iPid = fork(); if (iPid == 0) { close(piPipeFd[0]); write(piPipeFd[1], "hello", 6); close(piPipeFd[1]); exit(0); } close(piPipeFd[1]); read(piPipeFd[0], pcBuffer, 6); close(piPipeFd[0]); printf("%s\n", pcBuffer); return 0; } /* Sample execution: --> testpipeparent2child hello --> */