相关函数:pipe(int pip[2])
其会创建一个匿名管道,其中pip是被out的,成功后,pip[0]会是读端的文件描述符,pip[1]是写端的文件描述符
当返回值是-1时,该函数错误,是0时,成功
该函数只能在有亲缘关系的进程之间通信
当使用fork创建子进程之后,读的那一端会被先挂起直到有数据从写端写入
quick start:(vi写的,有点难看)
#include#include #include #include int main(){ char buf[80]; int pid, pp[2]; if(pipe(pp)==-1){ printf("Errorn"); } pid = fork(); switch (pid){ case 0: close(pp[0]); write(pp[1], "hello i am child", 17); close(pp[1]); exit(1); break; case -1: printf("Error"); default: close(pp[1]); read(pp[0],buf,80); printf("i am parent i recive the message:%sn", buf); close(pp[0]); break; } return 0; }



