Linxu下父子进程通道输出问题
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <errno.h>int main(){ printf("3"); int pipe_fd[2]; int pid; char buf[100]; int r_num; memset(buf,0,sizeof(buf)); printf("1"); if(pipe(pipe_fd) < 0) { printf("pipe create error\n"); return -1; } if((pid = fork()) == -1) printf("fork error"); else if (pid == 0) { close(pipe_fd[1]); sleep(2); if((r_num = read(pipe_fd[0],buf,100)) > 0) { printf("putout %d char is %s",r_num,buf); } close(pipe_fd[0]); exit(0); } else { printf("2"); close(pipe_fd[0]); if(write(pipe_fd[1],"Hello",5) != -1) printf("putin Hello"); sleep(4); wait(); exit(0); } pause(); }