一管道的局限性管道有两个局限性:(1)他是半双工(即数据只能在一个方向上流动)。(2)它只能在具有公共祖先的进程之间使用。一个管道由一个进程创建,然后该 进程调用fork,此后父子进程之间就可该管道。二 管道的创建 用函数pipe创建:#includeint pipe(int files[2]);参...
分类:
系统相关 时间:
2014-10-21 11:45:47
阅读次数:
231
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)消息队列的介绍消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。Linux用宏MSGMAX和MSGMNB来限制一条消息的最大长度和一个队列的最大长...
分类:
系统相关 时间:
2014-10-11 15:04:05
阅读次数:
315
有名管道(FIFO)命名管道也被称为FIFO文件,是一种特殊的文件。由于linux所有的事物都可以被视为文件,所以对命名管道的使用也就变得与文件操作非常统一。(1)创建命名管道用如下两个函数中的其中一个,可以创建命名管道。#include #include int mkfifo(const char...
分类:
系统相关 时间:
2014-10-09 19:28:37
阅读次数:
352
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存参考:《linux编程从入门到精通》,《Linux C程序设计大全》,《unix环境高级编程》参考:C和指针学习说明:本文非常的长,也是为了便于查找和比较,所以放在一起了Linux 传统的进程间通信有很多,如各类管道、消息队列、内存...
分类:
系统相关 时间:
2014-08-14 13:33:48
阅读次数:
363
linux进程间通信http://www.cnblogs.com/linshui91/archive/2010/09/29/1838770.htmlhttp://www.ibm.com/developerworks/cn/linux/l-ipc/http://blog.sina.com.cn/s/b...
分类:
系统相关 时间:
2014-08-08 01:51:55
阅读次数:
220
下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所...
分类:
系统相关 时间:
2014-07-24 14:40:05
阅读次数:
384
一、什么是信号用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。信号是UNIX和Linux系统响应某些条件而产生的...
分类:
系统相关 时间:
2014-07-23 22:21:07
阅读次数:
392
主要用途:保护临界资源二值信号灯:最大为1计数信号灯:多进程可访问。减1操作。等待自动唤醒。信号量的集合#include#include#include创建/打开int semget(key_t key,int nsems,int semflg)key:键值,由ftok获得。nsems:指定打开或者...
分类:
系统相关 时间:
2014-07-16 12:44:25
阅读次数:
256
共享内存共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存写入了数据,共享这个内存区域的所有进程就可以立即看到其中的内容。共享内存实现分为连个步骤:一、创建共享内存,使用shmget函数。二、映射共享内存,将这段创建的共享内存映射到具体的进程空间去...
分类:
系统相关 时间:
2014-07-14 22:28:41
阅读次数:
334