,即它们会指向相同的文件:
然后我们分别关闭父进程对管道文件的读方式,以及子进程对管道文件的写方式,这时,管道文件就成为了一个由父进程写入数据,子进程读取数据的通信管道文件:...当然也可以关闭父进程对管道文件的写方式,以及子进程对管道文件的读方式,这样管道文件就成为了一个由子进程写入数据,父进程读取数据的通信管道文件。...编码实现父子进程通信管道
管道的实现思路如下:
创建管道
创建子进程, 子进程关闭读端, 然后开始向管道写入数据
父进程关闭写端,然后开始向管道读数据
读取完毕,父子进程关闭自己所使用的写..., 而且这些消息是连续的, 并没有断层, 这说明当管道中数据满了的时候, 写入端(write)是会调用阻塞,暂停进程执行,直到所有数据被读取走后才会继续写入:
验证代码如下:
#include...close(pipefd[0]);
return 0;
}
当管道写端对应的文件描述符被关闭,读端正常时
如果所有管道写端对应的文件描述符被关闭,则read返回0