`
kongweile
  • 浏览: 507596 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux下进程通信的八种方法

 
阅读更多

Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量(semaphore),信号(signal),套接字(Socket).
(1) 管道(pipe):管道允许一个进程和另一个与它有共同祖先的进程之间进行通信;
(2) 命名管道(FIFO):类似于管道,但是它可以用于任何两个进程之间的通信,命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建;
(3) 信号(signal):信号是比较复杂的通信方式,用于通知接收进程有某种事情发生,除了用于进程间通信外,进程还可以发送信号给进程本身;Linux除了支持UNIX早期信号语义函数signal外,还支持语义符合POSIX.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD即能实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数的功能);
(4) 内存映射(mapped memory):内存映射允许任何多个进程间通信,每一个使用该机制的进程通过把一个共享的文件映射到自己的进程地址空间来实现它;
(5) 消息队列(message queue):消息队列是消息的连接表,包括POSIX消息对和System V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能成该无格式字节流以及缓冲区大小受限等缺点;
(6) 信号量(semaphore):信号量主要作为进程间以及同进程不同线程之间的同步手段;
(7) 共享内存 (shared memory):它使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。这是针对其他通信机制运行效率较低而设计的。它往往与其他通信机制,如信号量结合使用,以达到进程间的同步及互斥;
(8) 套接字(Socket):它是更为通用的进程间通信机制,可用于不同机器之间的进程间通信。起初是由UNIX系统的BSD分支开发出来的,但现在一般可以移植到其他类UNIX系统上:Linux和System V的变种都支持套接字;

分享到:
评论

相关推荐

    Linux下进程通信的八种方法.docx

    Linux下进程通信的八种方法,Linux下进程通信的八种方法。

    实验四:Linux下进程管道通信.docx

    操作系统实验四:Linux下进程管道通信 任务1:使用Pipe创建管道,创建一个子进程,子进程向父进程发送消息“I am your son!”,父进程接收到子进程的消息后,显示在屏幕上,并向子进程发送“I am your father!”。子...

    linux进程间通信与同步.pdf

    Linux系统中的进程间通信是典型的虚拟内存系统中的进程间通信:Linux 的进程间通信是不同进程间交换数据的机制。由于Linux系统支持虚拟内 存, 对于每一个进程,系统会为它分配一个单独的进程空间,不同的进程有不同...

    深入理解Linux进程间通信

    深刻理解Linux进程间通信(IPC) 1 Linux环境进程间通信(一) 3 Linux环境进程间通信(二): 信号(上) 19 Linux环境进程间通信(二): 信号(下) 30 Linux环境进程间通信(三) 40 Linux环境进程间通信(四) 52...

    Linux进程间通信.pdf

    Linux进程间通信.pdf Linux进程间通信.pdf

    操作系统实验报告(LINUX进程间通信)

    操作系统实验报告(LINUX进程间通信)

    linux下进程通信实例

    linux下进程通信实例,要做操作系统作业的同学可以借鉴下,希望对您有所帮助。

    Linux进程间通信.ppt

    课件:Linux进程间通信.ppt

    linux进程间通信 教程

    IPC(InterProcess Communication)是各种进程通信方式的统称,主要有下面几种类型:  管道  FIFO(命名管道)  消息队列  信号量  共享空间  套接口 前五种IPC只能用于一台主机内的进程间通信,套接口...

    C语言 Linux进程间通信

    Linux进程通信 C语言实现 实现了若干种方式的linux进程间通信

    linux进程间通信

    linux 多进程, 进程间通信。 开发实例。

    Linux进程间通信的例子

    资源中包含了Linux进程间通信的例子,同时有源文件和可执行文件。 源码主要包含了Linux下IPC机制的本地进程通信方式,包含了IPC共享内存,IPC信号量,IPC消息队列的实现,以及Linux下判断进程退出原因的示例程序。

    深刻理解Linux进程间通信

    linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展 做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布 中心)在进程间通信方面的侧重点有所不同。...

    Linux上实现Socket的多进程实时通信

    套接口为目前Linux上最为广泛使用的一种的进程间通信机制,与其他的Linux通信机制不同之处在于除了它可用于单机内的进程间通信以外,还可用于不同机器之间的进程间通信。但是由于Socket本身不支持同时等待和超时处理...

    Linux 进程间通信

    Linux进程间的通信实现方式,比如管道、消息队列等

    linux下进程间通信的研究与实现

    大学本科毕业论文-linux下 进程间通信

    linux进程间通信ppt

    linux进程间通信ppt,华清远见出品,还是很不错的

    Linux 进程通信

    首先,进程间通信至少可以通过传送打开文件来实现,不同的进程...而Linux作为一种新兴的操作系统,几乎支持所有的Unix下常用的进程间通信 方法:管道、消息队列、共享内存、信号量、套接口等等。下面我们将逐一介绍。

    linux 进程间通信

    Demo是实现进程间通信的实例当前大型进程间通信都是以本Demo为例实现的 本代码通过测试无误直接贴过去就能运行Linux下 SYSTEM V

    Linux进程间通信方式之socket使用实例

    主要介绍了Linux进程间通信方式之socket使用实例,具有一定参考价值,需要的朋友可以了解下。

Global site tag (gtag.js) - Google Analytics