无名管道

pipe函数

头文件:

  1. #include <unistd.h>

函数原型:

int pipe(int pipefd[2]);

返回值:

成功:0

失败:-1

特点

  • 特殊文件(没有名字),无法使用open,但是可以使用close。
  • 只能通过子进程继承文件描述符的形式来使用
  • write和read操作可能会阻塞进程
  • 所有文件描述符被关闭之后,无名管道被销毁

使用步骤

  • 父进程pipe无名管道
  • fork子进程
  • close无用端口
  • write/read读写端口
  • close读写端口