目录
回顾
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;
}
为什么 会这样呢 下次解开答案。