Linux的基础知识——mmap父子通信进程和匿名通信

1.mmap父子进程通信

\qquad父子等有血缘关系的进程之间也可以通过mmap建立的映射区来完成数据通信。但相应的要在创建映射区时候指定对应的标志位参数flags:
\qquadMAP_PRIVATE:父子进程各自独占映射区;MAP_SHARED:父子进程共享映射区。

2.mmap匿名通信

\qquad所谓mmap匿名通信就是不借助中间文件创建mmap映射区。

3.举例

#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdlib.h>
#include<errno.h>
#include<string.h>
#include<sys/mman.h>
#include<unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main()
{//1.创建父子共享映射区int* p;p = mmap(NULL,100,PROT_READ|PROT_WRITE,MAP_SHARED|MAP_ANON,-1,0);if(p==MAP_FAILED){perror("mmap fail!");exit(1);}//2.创建子进程int fork_fd;fork_fd = fork();if(fork_fd==-1){perror("fork fail!");exit(1);}else if(fork_fd==0){printf("子进程已经被创建!\n");*p = 1000;printf("i am child,*p=%d\n",*p);}else if(fork_fd>0){sleep(2);int wait_fd;wait_fd = wait(NULL);if(wait_fd==-1){perror("wait fail!");exit(1);}printf("父进程已经被创建!\n");printf("i am parent,*p=%d\n",*p);}//3.关闭映射区int close_fd;close_fd = munmap(p,100);if(close_fd==-1){perror("munmap fail!");exit(1);}return 0;
}

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

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

相关文章

ios点击有300毫秒延迟,输入框必须重压或长按才能获取焦点唤起软键盘

以下方法主要针对在vue中的使用 // ios点击有300毫秒延迟 1. 安装依赖包cnpm install fastclick --save 2. 在 /src/main.js 中引入并使用import FastClick from fastclickFastClick.attach(document.body)// 输入框必须重压或长按才能获取焦点唤起软键盘 // 这是由于上面引入了…

Forerunner:首个面向“多未来”的推测执行技术

来源&#xff1a;微软研究院AI头条编者按&#xff1a;10月26-29日&#xff0c;系统领域的全球顶会 SOSP 2021 在线上举办。在本届大会上&#xff0c;微软亚洲研究院研究员陈洋、郭众鑫、李润怀&#xff08;实习生&#xff0c;浙江大学&#xff09;、陈硕、周礼栋、张宪以及浙江…

linux的基础知识——信号的概念

1.计算机信号的特点 \qquad简单&#xff1b;不能携带大量信息&#xff1b;满足某个特设条件才发送 2.信号的机制 \qquadA与B两个进程&#xff0c;A向B发送一个信号&#xff0c;此时B进程正在执行自己的程序&#xff0c;在收到信号时&#xff0c;会暂停程序的执行&#xff0c;先…

2021-07-23 小记

https://github.com/XiaoJing-C 整理了一下GitHub&#xff0c;网络连接总是不稳定&#xff0c;uu们有无好的解决方法&#xff1f;

Gartner发布对2022年及以后IT组织和用户的十大预测

来源&#xff1a;Gartner中国编辑&#xff1a;蒲蒲Gartner于近日发布对2022年及以后的十大战略预测。Gartner的十大预测从三个方面探讨了企业和IT领导人在持续中断和不确定性中获得的经验教训。这三个方面分别是&#xff1a;朝以人为本的方向推进、努力提高韧性以及超越期望的能…

王道计算机网络 传输层整理 超详细版

传输层是主机才有的层次。 传输层的功能 1、传输层提供进程和进程之间的逻辑通信。&#xff08;网络层提供主机之间的通信&#xff09; 逻辑通信&#xff1a;传输层之间的通信好像是沿着水平方向传送数据&#xff0c;但事实上这两个传输层之间并没有一条水平方向的物理连接。…

这个最基本的生命细节才被揭开——25毫秒核孔穿梭

来源&#xff1a;生物通细胞中的所有蛋白质都是由复杂的分子机器组装而成的。这些核糖体的前体在细胞核中产生&#xff0c;然后通过所谓的核孔进入细胞。波恩大学和苏黎世联邦理工大学的研究人员首次在活细胞中拍摄了这个基本过程。他们的实验提高了对核糖体是如何产生的理解。…

计算机网络——基本介绍

1.计算机网络的概念 \qquad计算机网络是一个将分散的&#xff0c;具有独立功能的计算机系统&#xff0c;通过通信设备与线路连接起来&#xff0c;由功能完善的软件实现资源共享和信息传递的系统。 \qquad这里的计算机系统&#xff0c;也可以成为端系统&#xff0c;其包括但不限…

Mysql data type(数据类型)

MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型&#xff0c;大致可以分为三类&#xff1a;数值、日期/时间和字符串(字符)类型。 数值类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、…

王道计算机网络 应用层整理 超详细版

应用层概述 应用层对应用程序的通信提供服务。 应用层协议定义&#xff1a; 应用进程交换的报文类型&#xff08;请求/响应&#xff09; 各种报文类型的语法&#xff0c;如报文中的各个字段及其详细描述。 字段的语义&#xff0c;即包含在字段中的信息的含义。 进程何时、…

Facebook正式改名Meta,一个元宇宙新纪元由此开始

All in Metaverse&#xff0c;扎克伯格豪赌一个未来。来源&#xff1a;硅星人文&#xff1a;Juny 编辑&#xff1a;Lianzi美西时间早上7点&#xff0c;硅谷的天刚蒙蒙亮。Facebook硅谷总部前公司标志牌被蒙上了一层幕布。工作人员在标志牌前拉起了屏障&#xff0c;静静等待着…

计算机网络——标准化工作及相关组织

1.标准的分类 \qquad法定标准&#xff1a;由权威机构制定的&#xff0c;正式的&#xff0c;合法的标准&#xff0c;比如OSI标准&#xff1b;事实标准&#xff1a;某些强势产品在经过时间之后&#xff0c;这些产品的协议和技术就成为了标准&#xff0c;比如TCP/IP协议。 2.标准…

使用 Blender* 重新拓扑 VR 和游戏素材

本文介绍如何将网格重新拓扑成一个整洁的低密度模型&#xff0c;然后 UV 解包该网格&#xff0c;以便将纹理贴添加至新模型。本文还将探讨如何使用免费工具&#xff0c;比如 Blender* 及其 Bsurface 插件&#xff0c;重新拓扑雕塑的 3D 网格。查看详情转载于:https://www.cnblo…

中缀表达式转换为前缀或后缀表达式的手工做法

以 a/b ( c*d - e*f) / g 为例&#xff1a; 步骤1&#xff1a;按照运算符的优先级对所有的运算单元加括号。 ((a/b) (( (c*d) - (e*f)) / g)) 步骤2&#xff1a;转换为前缀或后缀表达式。 前缀&#xff1a;把运算符号移动到对应的括号前面&#xff0c;式子变为 (/(ab)/(-(*(…

AI学会灌水和造假!Google新研究揭露了AI现实应用的陷阱

来源&#xff1a;Google AI、新智元作者&#xff1a;Alex DAmour、atherine Heller今天&#xff0c;机器学习&#xff08;ML&#xff09;模型得到了大规模的使用&#xff0c;而且影响力也越来越大。然而&#xff0c;当它们被用于现实世界的领域时&#xff0c;往往表现出意想不到…

计算机网络——速率相关的性能指标

1.什么是速率&#xff1f; \qquad速率即数据率或称数据传输率或比特率。比特是数据传输的单位&#xff0c;从比特的角度看&#xff0c;速率就是在计算机网络上的主机在数字信道上传送数据位数的速率&#xff0c;单位有b/s&#xff0c;kb/s千&#xff0c;Mb/s兆&#xff0c;Gb/s…

Vue封装下拉框组件时,为document绑定原生事件addEventlistener(click“),切换页面之后事件还未被摧毁...

1 <script>2 export default {3 props: ["lists"],4 data() {5 return {6 isactive: false,7 actveName: "",8 selContent: "请选择"9 }; 10 }, 11 mounted() { 12 console.log("我被创建了&q…

查找算法详解

1、查找的基本概念 查找也即检索。 文件&#xff1a;由记录组成的集合&#xff0c;即含有大量数据的元素线性组合而成。 记录&#xff1a;由若干数据项组成的数据元素&#xff0c;这些数据项也常称作记录中的数据域&#xff0c;用以表示某个状态的物理意义。 关键字&#xff1…

高文院士:中国在AI领域有哪些长板和短板

10月25日&#xff0c;在第四届世界声博会暨2021科大讯飞全球1024开发者节上&#xff0c;中国工程院院士高文通过线上方式发表演讲来源&#xff1a;笑看国际风云、央广网、集微网、中国科学报10月25日&#xff0c;第四届世界声博会暨2021科大讯飞全球1024开发者节在安徽合肥开幕…

linux的基础知识——信号的四要素和kill

1.信号的四要素 \qquad信号的名字&#xff1b;信号的编号&#xff1b;信号的默认处理动作&#xff1b;信号的事件 2.信号相关命令 \qquad查看linux下的所有信号&#xff1a;kill -l&#xff1b;查看信号文档&#xff1a;man 7 signal。一共有64个信号。linux常规信号一览表 1)…