上一篇博客已经介绍了一种进程间通信的方式,但是那只是针对于有血缘关系的进程,即父子进程间的通信,那对于没有血缘关系的进程,那要怎么通信呢? 这就要创建一个有名管道,来解决无血缘关系的进程通信, fifo: mkfifo 既有命令也有函数 注: 当只写打开FIFO管道时,该FIFO没有读端打开,则op ...
分类:
系统相关 时间:
2017-02-12 11:19:43
阅读次数:
245
无名管道是linux中管道通信的一种原始方法,有以下特征: 1、单工通信模式,具有固定的读端和写端; 2、管道可以看成是一种特殊的文件,对于它的读写可以使用普通的read(),write()等文件IO操作函数接口,但是它不属于任何文件系统,并且只存在与内存中; 3、只能用于具有亲缘关系的进程之间的通 ...
分类:
系统相关 时间:
2016-12-17 11:18:27
阅读次数:
306
点击此处阅读原文 另收藏ljianhui的专栏初学Linux 下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处。有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信——使用命名管道 一、什么是消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据 ...
分类:
系统相关 时间:
2016-11-23 12:05:08
阅读次数:
271
管道: 它包括无名管道和有名管道两种,前者用于父进程和子进程间的通信,后者用于运行于同一台机器上的任意两个进程间的通信消息队列: 用于运行于同一台机器上的进程间通信,它和管道很相似,是一个在系统内核中用来保存消息的队列,它在系统内核中是以消息链表的形式出现。消息链表中节点的结构用msg声明。共享内存 ...
分类:
系统相关 时间:
2016-10-19 17:28:28
阅读次数:
234
下面将讲解进程间通信的另一种方式,使用共享内存。 一、什么是共享内存 顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中 ...
分类:
系统相关 时间:
2016-10-16 18:49:04
阅读次数:
212
本文首先从宏观的角度对进程间的通信方式之一,消息队列进行阐述,然后以代码实例对消息队列进行更近一步的阐述,最后试着畅想消息队列的潜在应用 ...
分类:
系统相关 时间:
2016-10-06 17:18:13
阅读次数:
259
1、 管道概述及相关API应用 1.1 管道相关的关键概念 管道是Linux支持的最初Unix IPC形式之一,具有以下特点: 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道; 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程); 单独构成一种独立的文件系统:管道对于 ...
分类:
系统相关 时间:
2016-09-21 10:10:59
阅读次数:
326
序 Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system ...
分类:
系统相关 时间:
2016-09-17 10:43:54
阅读次数:
199
前一篇文章,Linux进程间通信——使用流套接字介绍了一些有关socket(套接字)的一些基本内容,并讲解了流套接字的使用,这篇文章将会给大家讲讲,数据报套接字的使用。 一、简单回顾——什么是数据报套接字 socket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系统的开 ...
分类:
系统相关 时间:
2016-09-17 00:21:58
阅读次数:
331