zoukankan      html  css  js  c++  java
  • Linux高级服务器开发《进程间通信》

    Linux高级服务器开发《进程间通信》

    Linux服务器《进程间通信》------->开课时间(20:00--22:00)

    欢迎来到博新教育 Linux C/C++高级开发课堂
    领取免费学习资料加老师的QQ:726920220

    一、进程间通信的基本概念
    进程间通信(Inter Process Communication)意味着两个不同进程间可以交换数据,我们为完成这一点操作,操作系统中应用提供两个进程可以同时访问的内存空间。

    二、通过管道实现进程间通信
    基于管道(PIPE)的进程间通信结构模型。如图所示:

    创建管道函数:
    #include <unistd.h>

    int pipe(int filedes[2]);
    成功时返回0,失败时返回-1。
    filedes[0]:通过管道接收数据时使用的文件描述符,即管道出口;
    filedes[1]:通过管道传输数据时使用的文件描述符,即管道入口;

    父进程调用该函数时将创建管道,同时获取对于出入口的文件描述符,此时父进程可以读写同一管道。但是父进程的目的是与子进程进行数据交换,因此需要将入口或出口中的1个文件描述符传递给子进程。

    如何完成传递呢?就是调用fork函数。

    三、通过管道进行进程间双向通信
    创建2个进程通过1个管道进行双向数据交换。如图所示:

  • 相关阅读:
    字符编码常识及问题解析
    leptonica 学习笔记2——pixBackgroundNormSimple
    用GitLab Runner自动部署GitBook并不难
    使用Docker搭建简易的 Java Web 环境
    ionic button笔记
    学习Sass之安装Sass(一)
    Exploring Ionic Lists
    Using the Cordova Camera API
    ionic介绍
    angularjs2 学习笔记(六) Form
  • 原文地址:https://www.cnblogs.com/chinasirius/p/13436421.html
Copyright © 2011-2022 走看看