[Linux管道和IPC]在父子进程中使用管道
#include<unistd.h>#include<stdio.h>#include<sys/types.h>#include<stdlib.h>#include<errno.h>intmain(intargc,char*argv[]){intn,fd[2];pid_tpid;charbuffer[25];//缓冲区if(pipe(fd)<0)//创建一个管道,两个文件描述符在fd数组中{printf("创建管道失败!\n");exit(0);}if((pid=fork())<0)//创建一个子进程{printf("创建子进程失败!\n");exit(0);}elseif(pid>0)//父进程{close(fd[0]);write(fd[1],"Thisisapipetest!\n",22);//向管道写入数据,注意回车换行符}else//子进程{close(fd[1]);//关闭n=read(fd[0],buffer,25);//从通道中读出数据printf("%s",buffer);//将数据写到标准输出设备}exit(0);}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。