#include #include #include #include int main() { int fd[2]; pid_t pid; int n; char line[256]; char *str = "hello world!\n"; if ( pipe(fd) < 0 ) { fprintf(stderr, "pipe error"); exit(-1); } if ( (pid = fork()) < 0 ) { fprintf(stderr, "fork error"); exit(-1); } else if ( pid > 0 ) { // parent close(fd[0]); write(fd[1], str, strlen(str)); } else { // child close(fd[1]); n = read(fd[0], line, sizeof(line)); write(STDOUT_FILENO, line, n); } exit(0); }