一、概念:进程间通信( IPC,InterProcess Communication) 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进城之间要交换数据必须通过内核, 在内核中 开辟一块缓冲区进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走, ...
分类:
系统相关 时间:
2016-09-03 18:11:06
阅读次数:
174
1、命名管道的特点: (1)是管道,可用于非血缘关系的进程间的通信 (2)使用命名管道时,梁金成需要用路径表示通道。 (3)命名管道以FIFO的文件形式存储于文件系统中。(FIFO:总是按照先进先出的原则工作,第一个被写入的数据将首先从管道中读出。) (4)命名管道是一个设备文件。(因此进程与创建F ...
分类:
系统相关 时间:
2016-09-03 17:52:55
阅读次数:
209
我们已经知道,我们可以通过信号来终止进程,也可以通过信号来在进程间进行通信,程序也可以通过指定信号的关联处理函数来改变信号的默认处理方式,也可以屏蔽某些信号,使其不能传递给进程。那么我们应该如何设定我们需要处理的信号,我们不需要处理哪些信号等问题呢?信号集函数就是帮助我们解决这些问题的。 有关Lin ...
分类:
系统相关 时间:
2016-08-28 22:30:46
阅读次数:
243
一、什么是信号 用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。 信号是UNIX和Linux系统响应某些条件而产 ...
分类:
系统相关 时间:
2016-08-27 23:31:53
阅读次数:
276
Unix系统中,可以用于进程间的通信: Linux进程间通信:管道、信号、消息队列、共享内存、信号量、套接字(socket) Linux线程间通信:互斥量(mutex),信号量,条件变量 Windows进程间通信:管道、消息队列、共享内存、信号量 (semaphore) 、套接字(socket) W ...
分类:
系统相关 时间:
2016-08-26 15:14:35
阅读次数:
176
一、简介 DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,DBus使得Linux变得更加智能,更加具有交互性。 DBus分为两种类型:system bus(系统总线),用于系统(Linux)和用户程序之间进行通信和消息的传递;se ...
分类:
数据库 时间:
2016-08-18 01:16:58
阅读次数:
520
本文转载自:http://blog.csdn.net/ljianhui/article/details/10243617 这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间 ...
分类:
系统相关 时间:
2016-08-14 17:39:42
阅读次数:
252
进程间通信之共享内存一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己..
分类:
系统相关 时间:
2016-08-02 06:41:17
阅读次数:
237
进程间通信之消息队列什么是消息队列消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每..
分类:
系统相关 时间:
2016-07-30 22:44:15
阅读次数:
311
linux下进程间通信的几种主要手段简介: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某 ...
分类:
系统相关 时间:
2016-07-20 09:04:24
阅读次数:
214