原文:linux中的匿名管道和命名管道

一 管道的概念 管道是一种两个进程间进行单向通信的机制。管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递。调用pipe系统函数即可创建一个管道。管道又分为匿名管道和命名管道。管道有如下特质: 其本质是一个伪文件 实为内核缓冲区 由两个文件描述符引用,一个表示读端,一个表示写端。 规定数据从管道的写端流入管道,从读端流出。 匿名管道的特征: 只能进行单向通信 只适用于有血缘关系 ...

2019-01-07 15:53 0 1775 推荐指数:

查看详情

shell 匿名管道命名管道

管道的特点:如果管道没有数据,那么取管道数据的操作就会滞留,直到管道内进入数据,然后读出后才会终止这一操作;同理,写入管道的操作如果没有读取管道的操作,这一动作也会滞留。 1,匿名管道 匿名管道使用符号 | 表示,管道的两端时两个普通的,匿名的,打开的文件描述符:一端只读和一端只写 ...

Thu Mar 19 23:35:00 CST 2020 0 705
Linux的pipe(管道)与named pipe(FIFO 命名管道)

catalogue 1. pipe匿名管道 管道Linux很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别。管道Linux支持的最初Unix IPC形式 ...

Fri May 26 18:26:00 CST 2017 0 6163
Linux 命名管道

前文中笔者介绍了管道,本文接着介绍命名管道。文中演示所用环境为 Ubuntu 18.04 desktop。 命名管道(named pipe)又被称为先进先出队列(FIFO),是一种特殊的管道,存在于文件系统命名管道管道非常类似,但是又有自身的显著特征: 命名管道可以用于任何两个进程 ...

Wed Jun 12 21:06:00 CST 2019 0 2064
管道/命名管道

匿名管道: 概述: 用于Unix系列系统。单向数据通道,写端写的数据在被读端读取之前会被操作系统缓存。双向管道需要通过创建两个单向管道实现 之所以是匿名的。是因为匿名管道不存在于文件系统,随着使用它的进程结束而结束,没有名称。没有特别指明的话,管道匿名管道管道为多个文件创建了临时 ...

Fri Dec 14 18:28:00 CST 2018 0 710
linux系统编程之管道(一):匿名管道(pipe)

一,什么是管道 管道Linux支持的最初Unix IPC形式之一,具有以下特点: 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道; 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程); 单独构成一种独立的文件系统:管道对于管道两端的进程 ...

Tue Jul 16 06:01:00 CST 2013 0 4523
Linux系统编程之匿名管道

1.进程间通信介绍 1.1 进程通信的基本概念 在之前我们已经学习过进程地址空间。Linux 环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核开辟一块缓冲区,进程 ...

Thu Dec 02 02:00:00 CST 2021 0 266
Linux进程间通信-匿名管道

前面我们讲了进程间通信的一种方式,共享内存。下面看一看另一种机制,匿名管道。1.什么是管道管道是一个进程的数据流到另一个进程的通道,即一个进程的数据输出作为另一个进程的数据输入,管道起到了桥梁的作用。比如,在shell输入命令:ls -l|grep string,ls和grep是两个进程 ...

Tue Jun 28 00:44:00 CST 2016 0 3497
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM