• [Linux] 第 13 章 进程间通信 : 管道


    第 13 章 进程间通信 : 管道 
     第11章 我们看到进程间发送消息的非常简单的方法 :使用信号。 
         但是传送的信息只限于一个信号值。 
     大纲 { 
      *1 管道的定义 
      *2 进程管道 
      *3 管道调用 
      *4 父进程与子进程 
      *5 命名管道 : FIFO 
      *6 客户 / 服务器架构 
     } 
     *1, 什么是管道? 
       当从一个进程连接数据流到另一个进程时,我们使用术语管道(Pipe). 
       我们通常把一个进程的输出通过管道连接到另一个进程的输入。 
       cmd1 | cmd2 
       shell所做的工作实际上是对标准输入和标准输出进行了重新连接,使数据流 
       从键盘输入通过两个命令最终输出到屏幕。 
     *2, 进程管道 
       最简单的在两个程序之间传递数据的方法就是使用popen和pclose函数了。  
     *4 父进程和子进程
       在接下来对pipe调用的研究中,我们将学习如何在一个子进程中运行与其父进程
       完全不同的另外一个程序。我们用exec调用来完成这一工作。
      管道关闭之后的读操作
     *5 命名管道 : FIFO
      至此,我们还只能在相关的程序之间传递数据,即这些程序是由一个共同的祖先进程
      启动的。但我们想在不相关的进程之间交换数据,可以用FIFO来完成这项工作。
     总结 : 这章我们介绍了如何使用管道在进程之间传递数据。首先,通过popen或pipe
       调用创建未命名的管道,并且讨论了如何使用管道和dup调用把数据从一个程序传递
       到另一个程序的标准输入。介绍:管道在不相关的进程之间传递数据,最后:实现了
       一个简单的客户/服务器例子,FIFO的使用不仅向我们提供了进程间的同步,还提供
      了双向数据流。
  • 相关阅读:
    spring jdbcTemplate使用queryForList示例
    凡事预则立,不立则废:好计划是成功的开始——布利斯定理
    传世智库:初识IPD-集成产品开发
    骑手送外卖获奖1500多万元又被撤销 法律专家:不能一扣了之
    leetcode-----129. 求根到叶子节点数字之和
    leetcode-----128. 最长连续序列
    leetcode-----127. 单词接龙
    leetcode-----126. 单词接龙 II
    leetcode-----125. 验证回文串
    leetcode-----124. 二叉树中的最大路径和
  • 原文地址:https://www.cnblogs.com/robbychan/p/3787037.html
Copyright © 2020-2023  润新知