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个管道进行双向数据交换。如图所示:

  • 相关阅读:
    国内外DNS服务器地址列表
    MySQL语法大全_自己整理的学习笔记(摘抄)
    http代理和sock5代理有什么区别
    sql anywhere 网络连接
    ASCII码表_全_完整版
    libevent 编写问答服务器
    简单实现h264转ts
    libevent1.4 阅读记录三
    libevent1.4 阅读记录二
    nginx 学习
  • 原文地址:https://www.cnblogs.com/chinasirius/p/13436421.html
Copyright © 2011-2022 走看看