【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
在unix系统上最早的IPC形式为管道,管道的创建使用pipe函数:
#include
int pipe(int pipefd[2]);
该函数创建一个单向的管道,返回两个描述符 pipefd[0],和pipef...
分类:
系统相关 时间:
2014-11-21 12:39:40
阅读次数:
172
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
system V共享内存和posix共享内存类似,system V共享内存是调用shmget函数和shamat函数。
shmget函数创建共享内存区,或者访问一个存在的内存区,类似系统调用共享内存的ope...
分类:
系统相关 时间:
2014-11-16 12:09:10
阅读次数:
232
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
上一节讲了由open函数打开一个内存映射文件,再由mmap函数把得到的描述符映射到当前进程地址空间中来。这一节说说另外一种类似的共享内存方法,即有shm_open函数打开一个Posix.1 IPC名字(也许是文件系统中的一个路径...
分类:
系统相关 时间:
2014-11-12 10:33:42
阅读次数:
259
1.标准流管道管道操作支持文件流模式,用来创建链接还有一个进程的管道,通过函数popen和pclosepopen的详细介绍在本blog:Linux 多进程学习中有具体介绍2.无名管道(PIPE)特点:1)仅仅能在亲缘关系进程间通信(父子或兄弟)2)半双工(固定的读端和固定的写端)3)是特殊文件,能够...
分类:
系统相关 时间:
2014-11-11 22:21:27
阅读次数:
256
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
前面讲到socket的进程间通信方式,这种方式在进程间传递数据时首先需要从进程1地址空间中把数据拷贝到内核,内核再将数据拷贝到进程2的地址空间中,也就是数据传递需要经过内核传递。这样在处理较多数据时效率不是很高,而让多个进程共享...
分类:
系统相关 时间:
2014-11-11 09:22:43
阅读次数:
167
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
在两个进程通信当中,存在两个进程相互交换信息的过程,有的都比较复杂,不像上一节那样简单。一般情况下,存在一个服务进程一直在等待客户进程连接,客户进程和服务进程存在如下三种交换数据方式:
客户进程发获取服务进程某一全局数据的请求,服务进...
分类:
系统相关 时间:
2014-11-10 13:48:54
阅读次数:
239
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
在一个较大的工程当中,一般都会有多个进程构成,各个功能是一个独立的进程在运行。既然多个进程构成一个工程,那么多个进程之间肯定会存在一些信息交换或共享数据,这就涉及到进程间通信。进程间通道有很多种,比如有最熟悉网络编程中的socket、还...
分类:
系统相关 时间:
2014-11-10 12:02:51
阅读次数:
196
http://blog.csdn.net/guopengzhang/article/details/5528260http://www.ibm.com/developerworks/cn/linux/l-ipc/http://www.cnblogs.com/mydomain/archive/2010...
分类:
系统相关 时间:
2014-10-18 01:53:44
阅读次数:
216
在项目中,经常会遇到单机上进程间的通信,常用的进程间通信方式一般有以下几种
1 socket
2 unixsocket
3 共享内存(share-memory)
4 管道(pipe)
5 消息队列(message-queue)
6 文件(file)
7 消息总线(比如zeromq)
8 其他中间件(比如redis, memchache, 数据库等)
如果项目仅仅是消息的传递,对...
分类:
系统相关 时间:
2014-09-24 20:33:27
阅读次数:
3658
###Linux IPC###
---------------
##消息传递##
- 信号: 非亲缘,传递信息少,只能是控制信息而不是数据信息
- 管道: 要亲缘,无边界字节流,先进先出,消耗掉就没了,没有窥探功能MSG_PEEK
- FIFO: 非亲缘,无边界字节流,先进先出,消耗掉就没了,没有窥探功能MSG_PEEK
- Socket: 非亲缘,边界可有可...
分类:
系统相关 时间:
2014-09-11 21:01:22
阅读次数:
292