Linux C编程 使用pipe管道进程间通信,详细注释

管道作用于有血缘关系的进程之间,通过fork来传递

调用pipe函数时在内核中开辟一块缓冲区(称为管道)用于通信,它有一个读端一个 写端,然后通过filedes参数传出给用户程序两个文件描述符,filedes[0]指向管道的读 端,filedes[1]指向管道的写端(很好记,就像0是标准输入1是标准输出一样)。

所以管道 在用户程序看起来就像一个打开的文件,通过read(filedes[0]);或者write(filedes[1]);向这个文件读写数据其实是在读写内核缓冲区。

pipe函数调用成功返回0,调用失败返 回-1。

 

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注