首页 > 其他分享 >匿名管道通信

匿名管道通信

时间:2023-02-08 23:01:07浏览次数:35  
标签:wc 写入 管道 通信 匿名 ls 进程

匿名管道

  • 管道也叫无名(匿名)管道,它是UNIX系统IPC(进程间通信)的最古老形式,所有的UNIX系统都支持这种通信机制。
  • 统计一个目录中文件的数目命令:ls | wc -l。为了执行该命令,shell创建了两个进程来分别执行ls和wc。
  • 上述 | 称之为管道符,会将ls得到的结果通过管道传输给wc进程。
    image

管道特点

  • 管道是在内核内存中维护的缓冲器,这个缓冲器的存储能力是有限的,不同的操作系统大小不一定相同
  • 管道拥有文件的特征:读操作和写操作。匿名管道没有文件实体,有名管道有文件实体。
  • 一个管道是一个字节流,使用管道时不存在消息或消息边界的概念,从管道读取数据的进程可以读取任意大小的数据块,而不管写入进程写入管道的数据块的大小是多少。
  • 通过管道传递的数据时顺序的,从管道中读取出来的字节顺序和写入进去的字节顺序是一样的。
  • 管道时半双工的,一端用于写入,一段用于读取
  • 从管道中读数据是一次性操作,数据一旦被读走,他就从管道中抛弃,释放空间以便写入更多的数据。
  • 匿名管道只能在具有公共祖先的进程之间使用。
    image

管道的创建

image

标签:wc,写入,管道,通信,匿名,ls,进程
From: https://www.cnblogs.com/xiaoqing-ing/p/17103658.html

相关文章

  • 进程通信
    进程通信1、什么是进程间通信2、共享存储3、消息传递1)直接通信方式2)间接通信方式4、管道通信知识回顾......
  • 进程间的通信方式(六种)
    目录前言管道消息队列共享内存信号量信号Socket参考文章:https://blog.csdn.net/qq_34827674/article/details/107678226前言前提知识:每个进程都有自己的用户空间,而......
  • 【vue3】父子组件通信之 vue3 defineProps,defineEmits ,defineExpose
    1、简介父组件通过v-bind绑定一个数据,然后子组件通过defineProps接受传过来的值,2、代码示例1)给Menu组件传递了一个title字符串类型是不需要v-bind<template><d......
  • 局域网即时通信软件都有哪些?要如何选择?
    近些年来,由于企业内部敏感信息通过即时通信软件和互联网泄露的事件频发,许多企业对于内部信息安全保护越来越重视。除了使用局域网环境办公以外,还会采用局域网即时通信软件......
  • WinForm(十五)窗体间通信
    在很多WinForm的程序中,会有客户端之间相互通信的需求,或服务端与客户端通信的需求,这时就要用到TCP/IP的功能。在.NET中,主要是通过Socket来完成的,下面的例子是通过一个Tcp......
  • WinForm(十五)窗体间通信
    在很多WinForm的程序中,会有客户端之间相互通信的需求,或服务端与客户端通信的需求,这时就要用到TCP/IP的功能。在.NET中,主要是通过Socket来完成的,下面的例子是通过一个Tc......
  • WinForm(十五)窗体间通信
    在很多WinForm的程序中,会有客户端之间相互通信的需求,或服务端与客户端通信的需求,这时就要用到TCP/IP的功能。在.NET中,主要是通过Socket来完成的,下面的例子是通过一个Tc......
  • vue高级进阶( 二 ) 8种组件通信详解
     vue高级进阶(二)8种组件通信详解猛兽总是独行,牛羊才成群结队。-------鲁迅vue组件通信的重要性无需多言。。。但是你肯定没有全部掌握,所以这第二篇文章应运而......
  • CAN通信协议教程(Vector)
    概述本文转载自Vector官方教程-->VectorE-Learning,为方便查阅转载在此,其他详细课程和帮助还请在官方网站查阅。CAN学习模块目标群体该在线学习模块适用于所有希望......
  • Dapper 匿名查询Query Anonymous的结果访问
     匿名查询原始的SQL查询可以使用Query方法执行,并将结果映射到一个动态列表。这些对于简单的查询很有用,你不需要创建一个单独的类来表示你的数据。在处理复杂的SQL查询时,......