Linux进程间通信(管道)

本文介绍了管道在进程间通信中的作用,包括有名和无名管道的概念,以及它们的特点。管道主要用于数据的半双工传输,且在内存中存储数据。有名管道可以通过mkfifo命令创建,可在任意进程间通信,而无名管道主要用于父子进程间通信。信号传输方式分为单工、半双工和全双工。这些通信机制在系统级编程中起到关键作用。
摘要由CSDN通过智能技术生成

1.管道的概念:

       管道可以用来在两个进程之间传递数据,如: ps -ef | grep “bash”, 其中‘ ’就是管道,其作用就是将 ps 命令的结果写入管道文件,然后 grep 再从管道文件中读出该数据进行 过滤。

2.信号传输方式(按照传输方向):

  单工:只能再单方向传输的工作模式。

  半双工:在同一时间内,线路上只能允许一个方向的数据通过

  全双工:双方可以同时进行数据通信

3.管道的特点:

   (1) 无论有名还是无名,写入管道的数据都在内存中
   (2)  管道是一种半双工通信方式 (通信方式有单工、半双工、全双工)
   (3) 有名和无名管道的区别:有名可以在任意进程间使用,而无名主要在父子进程间

4.有名管道:

  有名管道可以在任意两个进程之间通信

  有名管道的创建:
    (1)  命令创建: mkfifo FIFO
    (2)  系统调用创建

 

5.无名管道:

无名管道主要应用于 父子进程 间的通信。
无名管道的创建:

 

6.管道的实现

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值