linux 进程通信机制,linux的进程通信机制小结

linux向应用软件提供下列进程间通信手段:

####第一类通信方式:只能用于父进程与子进程之间,或者两个兄递进程之间。

>管道Pipe

>信号Signal

>跟踪Trace

管道:由父进程来建立。管道两端的进程各自都将该管道视作一个文件。一个进程往管道中写的内容由另一个进程从管道中读取,通过管道传递的内容遵循先入先出FIFO的规则。每个管道都是单向的,需要双向通信时就要建立起两个管道。

ee6047e12552?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

信号:signal可用于进程间通信,也用于内核与进程之间的通信(内核只能向进程发送信号而不能接收)。发送信号时需要用到对方的pid,而一般只有父子进程才知道对方的pid,所以实际上还是只能用于父子进程。

跟踪:一个进程可以通过系统调用ptrace()读/写其子进程地址空间中的内容,从而达到跟踪子进程执行的目的。跟踪是单向的。

第二种通信方式:

>命名管道Named Pipe

>报文Message

>共享内存

>信号量Semaphore

>套接字Socket

命名管道:命名管道以FIFO文件的形式出现在文件系统中,所以任何进程都可以通过使用其文件名来打开管道,然后进行读写。

报文队列:一个进程可以通过系统调用设立一个报文队列。任何进程都可以通过系统调用向这个队列发送消息或从队列中接收信息,从而以进程间报文传递的形式实现通信。

共享内存:一个进程可以通过系统调用设立一片共享内存区,然后其它进程就可以通过系统调用将该存储区映射到其用户地址空间中。

套接字:socket可以用来实现分布于不同计算机中的进程通过网络进行的通信。只要双方都有一样的套接字,并且两个套接字之间有通信线路相连接,就可以完成双方通信。socket相当于管道两端的阀门。

>socket原语:

SOCKET:创建一个新的通信端点

BIND:将一个本地地址关联到一个套接字

LISTEN:宣布愿意接受连接,指定队列大小

ACCEPT:阻塞调用方,直到有连接到来

CONNECT:主动尝试建立连接

RECV:从指定连接中接收数据

SEND:在指定连接上发送数据

CLOSE:释方指定的连接

ee6047e12552?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云胡晓明:数据智能将为城市生活带来真正价值

8月30日,在2017全球(上海)人工智能创新峰会-世界人工智能城市规划大会上,阿里巴巴集团资深副总裁、阿里云总裁胡晓明作《通往智能之路》主题演讲,指出数据智能将从交通、医疗、城市治理等方面影响城市生活,…

【iCore1S 双核心板_FPGA】例程十二:基于单口RAM的ARM+FPGA数据存取实验

实验现象: 核心代码: module single_port_ram(input CLK_12M,input WR,input RD,input CS0,inout [15:0]DB,input [24:16]A,output FPGA_LEDR,output FPGA_LEDG,output FPGA_LEDB); //----------------------------pll-------------------------------//…

curl post https_Linux命令cURL详解,并实现文件定时上传到ftp服务器的程序

前言前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现。我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能。并当时使用的一个超级强大的工具cURL。心血来潮&a…

linux系统页面缓存,Linux缓存机制之页缓存

内核采用一种通用的地址空间方案,来建立缓存数据与其来源之间的关联。1) 内存中的页分配到每个地址空间。这些页的内容可以由用户进程或内核本身使用各式各样的方法操作。这些数据表示了缓存中的内容;2) 后备存储器struct backing_dev_info指定了填充地…

十月百度,阿里巴巴,迅雷搜狗最新面试七十题(更新至10.17)

十月百度,阿里巴巴,迅雷搜狗最新面试十一题 引言 当即早已进入10月份,十一过后,招聘,笔试,面试,求职渐趋火热。而在这一系列过程背后浮出的各大IT公司的笔试/面试题则蕴含着诸多思想与设计&…

fasttext 文本分类_4种常见的NLP实践思路【特征提取+分类模型】

越来越多的人选择参加算法赛事,为了提升项目实践能力,同时也希望能拿到好的成绩增加履历的丰富度。期望如此美好,现实却是:看完赛题,一点思路都木有。那么,当我们拿到一个算法赛题后,如何破题&a…

Angular4学习笔记(六)- Input和Output

概述 Angular中的输入输出是通过注解Input和Output来标识,它位于组件控制器的属性上方。 输入输出针对的对象是父子组件。 演示 Input 新建项目connInComponents:ng new connInComponents.新增组件stock:ng g component stock.在stock.component.ts中新增属性stockN…

Python 常见加密方式和实现

Python 加密与解密小结 这篇文章主要介绍了Python 加密与解密,使用base64或pycrypto模块 前言 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机…

jenkins日志乱码linux,Jenkins控制台中乱码问题解决

由于服务器环境及应用层各版本的不同、编码方式的不同因此会有很多种情况会出现乱码问题。由于Jenkins中的job运行的是独立的一个shell环境,许多的环境变量与服务器中是不一样的,因此在job中执行的命令也就会有所差异。因此可以在job中执行env命令&#…

windows商店_Windows记事本应用现在可以从Microsoft Store中获得

早在2019年8月,微软就宣布将把人们最常用的Windows记事本应用搬到应用商店,让这款深受用户喜爱的应用更新速度更快、响应更灵敏。12月晚些时候,微软却放弃了这一计划,也没有给出太多理由。但现在,这一计划已经完成&…

jmeter 压测duobbo接口,施压客户端自己把自己压死了

jmeter 压测duobbo接口,jmeter代码不合理,导致每执行一次请求,会调用一次消耗内存的实例化。导致越压越慢,请求发不出去。这个时候需要考虑修改代码了。 截图中,tps越来越少。 原来初始化的代码放在 runTest中执行。修…

oracle pl/sql 包

包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。1)、我们可以使用create package命令来创建包,如:i、创建一个包sp_packageii、声明该包有一个过程update_saliii、声明该包有一个函数annual_income --声明该包有一个存储过程和一…

背单词软件 单词风暴 分享id_周一考研高效背单词系列(一):利用单词软件如何背好单词...

高效背单词考研单词作为考研路上的第一大难关,相信很多小伙伴都在这上面吃过不少苦,有同学更是看到密密麻麻的大纲词汇就头疼,但只要是学习就是有方法的,今天,我们开始推出高效背单词系列——墨墨背单词。另&#xff1…

linux c++ 编译 库,LINUX C/C++ 编译库关系

在LINUX 下安装个啥,都要涉及到编译,尤其是开源软件. 那么编译就涉及到C/C 和对应的库. 我们理一理之间的关系有助于MYSQL8源码编译libc glibc libc libstdc eglibc GCC G CMakeGDB从libc说起。libc是Linux下原来的标准C库,也就是当初写hello world时包含的头文件#…

Linux_学习_Day3_bash

Shell bash是外部程序:type/whichis bash。 shell, 子shell。可以利用bash打开另一个bash。即打开一个子shell。并且每个进程是独立存在的。对于子shell而言,bash并不认知其他bash的存在。 执行了多次bash,要退出只需exit。用pst…

mysql 之 优化 (收集于网络)

(以下内容均来自于网络,如果有版权限制,请联系我0.0) Mysql存储千亿级的数据,是一项非常大的挑战。Mysql单表可以存储10亿级的数据,只是这个时候性能非常差,项目中大量的实验证明,M…

easyui 收费_收费班长喻玉华三尺岗亭献青春

- 2020 第四期 人物访谈报道 -拼搏人生最美励志先锋人物专访2013年,22岁的她来到巴南高速这个大家庭中,成为恩阳收费站一名普通的收费员。怀着对事业的执着追求与热爱,经过两年不懈的努力,获得了领导和同事的认可和喜爱。2015年5月…

编程技术面试的五大要点

(写在前面的话:本文最初发表于《程序员》杂志2011年10月刊,并收录到《剑指Offer——名企面试官精讲典型编程题》一书中。) 近年来找工作一直是一个很热门的话题。我们要想找到心仪的工作,难免需要经过很多轮面试。编程…

山西台达plc可编程控制器_可编程控制器2(PLC)控制原理

采用继电器控制采用PC控制PC的控制原理(继电器PC控制)a)当SB1按下,输入继电器00000的线圈通电,00000的常开触点闭合,使得输出继电器01000的线圈得电,01000对应的硬输出触电闭合,KM1得电M1开始运转,同时0100…

一篇读懂 可转债

可转债兴起的原因 可转债是1992年底开始进入中国证券市场的,到现在已经27个年头了。可以说,以前可转债在中国证券市场一直不是市场的焦点和幸运儿,始终没能成为一个上规模的可配置的投资品种——其原因很简单,因为相对而言企业发…