Linux进程间通信 | 管道

文章目录

    • 进程间通信简介(IPC)
    • 管道机制的基本概念
      • 什么是管道
      • 管道通信的特点
    • 匿名管道
      • 管道的创建与关闭
      • 管道的读写
    • 命名管道
      • 命名管道的概念
      • 命名管道与管道的区别
      • 命名管道的创建
      • 命名管道的读写

进程间通信简介(IPC)

进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。另外,系统空间是“公共场所”,各进程均可以访问,所以内核也可以提供这样的条件。此外,还有双方都可以访问的外设。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。因为这样的通信手段效率实在太低了,而人们对进程间通信的要求是要有一定的实时性。

Linux的进程间通信的方法有管道、消息队列、信号量、共享内存、套接口等。其中,管道又分为命名管道和无名管道。消息队列、信号量、共享内存统称为系统(POSIX和System V系统)IPC。管道、消息队列、信号量和共享内存用于本地进程间通信,而套接口用于远程进程间通信。下面进行简单介绍:

1、管道(Pipe)及命名管道(named pipe)

你可能感兴趣的:(Linux基础,网络与内核,进程间通信机制总述,管道,命名管道,无名管道,匿名管道)