百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> linux进程间通讯的方式是什么-linux运维
分享文章到:

linux进程间通讯的方式是什么-linux运维

发布时间:09/01 来源:未知 浏览: 关键词:
linux进程间通讯的方式有:1、管道(包含匿名管道和命名管道);2、信号;3、新闻队列;4、同享内存;5、信号量;6、套接字。管道的本色是一个内核缓冲区,进程应用管道通报信息。

linux进程间通讯的方式有:1、管道(包含匿名管道和命名管道);2、信号;3、新闻队列;4、同享内存;5、信号量;6、套接字。管道的本色是一个内核缓冲区,进程应用管道通报信息。

linux进程间通讯的方式:

(举荐学习:linux教程)

Linux进程间根本的通讯方式主要有:管道(pipe)(包含匿名管道和命名管道)、信号(signal)、新闻队列(queue)、同享内存、信号量和套接字。

下面离别介绍一下这几种方式:

1、管道

管道的本色是一个内核缓冲区,管道的作用正如其名,需要通讯的两个进程在管道的两端,进程应用管道通报信息。管道关于管道两端的进程而言,就是一个文件,但是这个文件比拼特别,它不属于文件系统而且只存在于内存中。

2、信号

信号是软件条理上对中止机制的一种模拟,是一种异步通讯方式,进程无须通过任何操纵来期待信号的抵达。信号可以在会员空间进程和内核之间直接交互,内核可以应用信号来通知会员空间的进程产生了哪些系统事件。

3、新闻队列

新闻队列是新闻的链表,拥有特定的格局,寄存在内存中并由新闻队列标识符标识,而且允许一个或多个进程向它写入与读取新闻

4、同享内存

使得多个进程可以可以直接读写统一块内存空间,是针对其他通讯机制运转效率较低而设计的。

为了在多个进程间交流信息,内核专门留出了一块内存区,可以由需要拜访的进程将其映照到本人的私有地址空间。进程就可以直接读写这一块内存而不需要进行数据的拷贝,从而大大提高效率。

注意:同享内存并未供给同步机制,在一个进程完毕对同享内存的写操纵以前,并无主动机制可以阻止另二个进程开端对它进行读取。所以,我们平常需要用其他的机制来同步对同享内存的拜访。

5、信号量

信号量本色上就是一个标识可用资源数目的计数器,它的值总是非负整数。而只要0和1两种取值的信号量叫做二进制信号量(或二值信号量),可用用来标识某个资源可否可用。

6、套接字

套接字是更为根基的进程间通讯机制,与其他方式不一样的是,套接字可用于不一样机器之间的进程间通讯。

有两品种型的套接字:基于文件的和面向网络的。

(1)Unix套接字是基于文件的,而且具有一个“家族名字”--AF_UNIX,它代表地址家族(address family):UNIX。

(2)第二类型的套接字是基于网络的,它也有本人的家族名字--AF_INET,代表地址家族(address family):INTERNET

无论采纳哪种地址家族,都有两种不一样的套接字连贯:面向连贯的和无连贯的。

(1)面向连贯的套接字(SOCK_STREAM)

进行通讯前必需创立一个连贯,面向连贯的通讯供给序列化的、牢靠地和不反复的数据交付,而没有记载边界。

这意味着每条信息可以被拆分成多个片段,而且每个片段都能确保抵达目的地,然后在目的地将信息拼接起来。

实现这种连贯类型的主要协定是传输控制协定(TCP)。

(2)无连贯的套接字(SOCK_DGRAM)

在通讯开端以前并不需要创立连贯,在数据传输历程中并没法保障它的次序性、牢靠性或反复性。

然而,数据报的确保留了记载边界,这就意味着新闻是以整体发送的,而并非第一分成多个片段。

因为面向连贯的套接字所供给的保障,因而它们的设定以及对虚拟电路连贯的保护需要批量的开销。然而,数据报不需要这些开销,即它的老本更加“低廉”。

实现这种连贯类型的主要协定是会员数据报协定(UDP)。

以上就是linux进程间通讯的方式是什么的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板