2016 - 2024

感恩一路有你

有名管道的创建 什么是无名管道?

浏览量:2953 时间:2021-03-18 06:49:54 作者:admin

什么是无名管道?

匿名管道:管道是半双工的,数据只能单向流动;当双方需要通信时,需要建立两条管道;只能在父子进程或兄弟进程(有亲属关系的进程)之间使用。

单独的文件系统:管道是管道两端进程的文件,但不是普通文件。它不属于文件系统,而是一个自我支持的门户,它形成一个单独的文件系统,只存在于内存中。

将数据读写到管道的另一端。写入的内容每次都添加到管道缓冲区的末尾,数据每次都从缓冲区的头部读取。(有点像lieha)

#include<unistd。H>

int pipe(int FD[2])

此函数创建的管道的两端位于进程的中间,在实际应用中意义不大。因此,一个进程是由After pipe()创建一个管道后创建的,它通常会分叉一个子进程,然后通过管道实现父进程和子进程之间的通信(因此不难推断,只要两个进程之间有血缘关系,这里的血缘关系是指有一个共同的祖先,它们可以通过管道进行通信)。

在将数据写入管道时,Linux不能保证写入的原子性。一旦管道缓冲区中有空闲区域,写入过程就会尝试将数据写入管道。如果读取进程没有读取管道缓冲区中的数据,则写入操作将始终阻塞。

有名管道的创建 进程间通信有名管道 管道和命名管道的区别

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。