1.前言
本篇文章的所有例子,基于RHEL6.5平台(linux kernal: 2.6.32-431.el6.i686)。
2.介绍
消息队列是先进先出FIFO原则。
消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向其中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息。消息队列是随内核持续的。...
分类:
系统相关 时间:
2015-06-17 23:26:46
阅读次数:
180
深刻理解Linux进程间通信(IPC)一个大型的应用系统,往往需要众多进程协作,进程(Linux进程概念见附1)间通信的重要性显而易见。本系列文章阐述了Linux环境下的几种主要进程间通信手段,并针对每个通信手段关键技术环节给出详细实例。为达到阐明问题的目的,本文还对某些通信手段的内部实现机制进行了...
分类:
系统相关 时间:
2015-06-16 10:45:57
阅读次数:
136
一 共享内存介绍 共享内存可以从字面上去理解,就把一片逻辑内存共享出来,让不同的进程去访问它,修改它。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共...
分类:
系统相关 时间:
2015-06-10 11:47:37
阅读次数:
210
信号是 Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。
“中断”在我们生活中经常遇到,譬如,我正在房间里打游戏,突然送快递的来了,把正在玩游戏的我给“中断”了,我去签收快递( 处理中断 ),处理完成后,再继续玩我的游戏。这里我们学习的“信号”就是属于这么一种“中断”。我们在终端上敲“ctrl + c”,就产生一个“中断”,相当于产生一个信号,接着就会处理这么一个“中断任务”(默...
分类:
系统相关 时间:
2015-06-01 20:33:54
阅读次数:
254
转载:http://www.cnblogs.com/fangshenghui/p/4039720.html一共享内存介绍共享内存可以从字面上去理解,就把一片逻辑内存共享出来,让不同的进程去访问它,修改它。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常...
分类:
系统相关 时间:
2015-05-31 19:56:20
阅读次数:
148
进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义...
分类:
系统相关 时间:
2015-05-27 12:19:39
阅读次数:
181
linux应用开发-无名管道编程
一 linux进程间通信(ipc)
1 UNIX进程间通信
2 基于System V的通信
3 POSIX通信
二 七种通信方式
1 管道
一个进程在管道的尾部写入数据,另一个进程从管道的头部
读出数据。管道包括无名管道和有名管道两种,前者只能用
于父进程和子进程间的通信,后者可用于运行于同一系统中
的任意两个进程间的通信。
...
分类:
系统相关 时间:
2015-05-01 13:24:32
阅读次数:
205
刚请完婚假,请假期间做了些技术总结,其中一个就是Linux进程间通信方式的总结。Linux提供了多种进程间通信的方式,列举如下:PIPE(管道)FIFO(先进先出,也称为有名管道)domain_socket(域套接字)XSI-semaphore(XSI信号量)XSI-message_queue(XS...
分类:
系统相关 时间:
2015-04-28 09:24:39
阅读次数:
391
1.核心理论
信号类型:linux系统支持的所有信号均定义在/usr/include/asm/signal.h中,其中常见的信号有:
SIGKILL: 杀死进程
SIGSTOP: 暂停进程
SIGCHLD:子进程停止或结束时用来通知父进程
2.函数学习
发送信号
函数名:kill
函数原型:int kill(pid_t pid, int sig);
函数功能:向进程发送信号
...
分类:
其他好文 时间:
2015-04-24 09:13:48
阅读次数:
152
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。
采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息...
分类:
系统相关 时间:
2015-04-20 21:00:16
阅读次数:
278