0
点赞
收藏
分享

微信扫一扫

linux 管道读写行为 匿名管道的创建

西风白羽 2022-04-25 阅读 153
linux

目录

回顾

1 vfork 函数 调用 之后 会让子进程先执行 用break 强制退出 
2 会导致父进程接收不到 所以要用 exit函数 
exit 函数起到链接他们的作用。

管道读写行为

在这里插入图片描述

本质:内核缓冲区
伪文件:不占用磁盘空间

在这里插入图片描述

读写端 进行一个 停止另外一个
并且会被自动释放。

默认阻塞的原因

 管道把它想成一个排队

在这里插入图片描述

阻塞类似队列的原理  先进先出 先进 
具有流动性 理解为不占内存的意思。

缺点

只能读写各一次 不可重复读取 并且只能一个时间点进行一个操作 

匿名管道的创建

匿名管道 :运用有血缘的进程

函数原型
在这里插入图片描述

直接上代码
先创建管道目录 
mkdir pipe 
#include<stdio.h>
#include<unistd.h>


int main()
{
      int arr[2];
      int a;
     
      a=pipe(arr);
      
      if(a==-1) //异常 
      {
       printf("pipe is error\n");
       return -2;
      }
      printf("fd[0]===%d\n",arr[0]);
      printf("fd[1]===%d\n",arr[1]);
      
     return 0;
}

在这里插入图片描述

为什么 会这样呢 下次解开答案。
举报

相关推荐

0 条评论