/* Includes */ #include /* Symbolic Constants */ //#include /* Primitive System Data Types */ //#include /* Errors */ #include /* Input/Output */ //#include /* Wait for Process Termination */ #include /* General Utilities */ #define MAXLINE 80 int main() { int n; int fd[2]; pid_t pid; char line[MAXLINE]; if ( pipe( fd ) < 0 ) { perror("pipe fail"); exit(1); } if ( (pid = fork()) < 0 ) { perror("fork"); exit(1); } if ( pid > 0 ) { close( fd[0] ); write( fd[1], "hello world\n", 12); wait(NULL); } else { close( fd[1] ); n = read(fd[0], line, MAXLINE); printf("I am the child process\n"); write( STDOUT_FILENO, line, n ); } return 0; }