Linux进程通信:管道与FIFO
发布时间
阅读量:
阅读量
内容参考自:《Unix网络编程 卷2:进程间通信》
一、管道(pipe)
最初的形式就是Unix IPC管道。因为管道本身没有标识,在实际应用中也只能用于那些存在亲缘关系的进程间的通信。
1、创建管道
linux为我们提供了pipe()函数来创建管道,函数定义如下:
#include <unistd.h>
int pipe(int pipefd[2]);
//示例:
int pipefd[2]
if(pipe(pipefd) < 0)
printf("Filed to create pipe.");
man pages(命令 $ man pipe)的作用可以通过以下方式理解:通过使用 pipe() 函数,在系统内核中创建了一个专门用于实现互操作性通信(IPC)的通道。当函数调用成功时会返回状态码0;如果出现错误则返回非零的状态码。该通道的一个显著特点是能够同时处理多个进程之间的通信请求,并通过指定参数来控制其读写方向及两端的数据传输方向。其中参数 pipefd 用于返回管道读写端的文件描述符,在实际应用中通常会被指定为两个相邻文件描述符地址:pipefd[0] 表
全部评论 (0)
还没有任何评论哟~
