进程间的通信机制有那些(本机IPC)【linux】(zv)

若如初见. 提交于 2020-03-05 23:15:00

进程间的通信机制有那些?

进程间通信的原理

进程空间各自独立,相互之间没有可以共享的空间,但是OS是所有进程所共享的,那就是,不管运行有多少个进程,但是它们共用OS只有一个。
所有进程共用的是同一个OS,那么显然,所有的进程可以通过大家都共享OS来实现数据的转发。
因此进程间通信的原理就是,OS作为所有进程共享的第三方,会提供相关的机制,以实现进程间数据的转发,达到数据共享的目的。

广义上的进程间通信

其实广义上来说,任何一种能够实现进程间数据交换的方式,都可以被称为进程间通信,比如
A进程——————文件———————B进程
A进程—————数据库——————B进程

不过一般来说,这种广义的进程间通信,并不被算作真正的“进程间通信”。
只有OS所提供的专门的通信机制,才能算作是真正的“进程间通信”。

Linux提供的“进程通信”方式有哪些?

Linux的父亲是Unix,所以Linux的进程间通信,其实都是继承于Unix。
Linux所提供的进程间通信机制

管道
无名管道
有名管道
OS在进程之间建立一个“管道”,通过这个管道来实现进程间数据的交换。

消息队列:通过消息队列来通信
共享内存:通过共享内存来通信
信号量:借助通信来实现资源的保护(一种加锁机制)
套接字:在网络编程博客进行详细说明

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!