创建一个管道,Linux系统中有pipe()和pipe2()两个函数。

Linux仅支持半双工管道

pipe

函数原型

  1. #include <unistd.h>
  2. int pipe(int pipefd[2]);

参数

  1. pipefd[0] 读端
  2. pipefd[1] 写端

返回值

  1. 0 成功
  2. -1 失败,并自动设置 errno

——

pipe2

pipe2非POSIX标准,仅被Linux支持

函数原型

  1. #include <unistd.h>
  2. #include <fcntl.h>
  3. #define _GNU_SOURCE
  4. int pipe2(int pipefd[2],int flags);