标签:
CreatePipe:创建一个匿名管道并从中得到读写句柄。
什么是管道?
/*使用pipe实现父进程向子进程发送信息*/ #include<stdio.h> #include<unistd.h> #include<stdlib.h> int main() { int fd[2]; pipe(fd);//创建管道 pid_t child; child=fork();//创建子进程 char buff[15];//子进程用于读取的缓冲区 char data[]="Hello!";//父进程用于写入的数据 if(child==-1)//出错处理 { perror("Child:"); exit(1); } else if(child==0)//子进程从管道中读取信息到buff { close(fd[1]); if(read(fd[0],buff,15)>0) { printf("pid=%d\tppid=%d\t|%s\t<Read>\n",getpid(),getppid(),buff); } close(fd[0]); exit(0); } else//父进程通过data向管道中写入信息 { close(fd[0]); if(write(fd[1],data,15)>0) { printf("pid=%d\tppid=%d\t|%s\t<Write>\n",getpid(),getppid(),data); } close(fd[1]); exit(0); } waitpid(child,NULL,0);//等待子进程结束 exit(0); }
标签:
原文地址:http://www.cnblogs.com/predator-wang/p/4786253.html