分析fork后多进程对文件的共享

发布者:Yuexiang最新更新时间:2015-05-04 来源: 51hei关键字:fork  多进程  共享 手机看文章 扫描二维码
随时随地手机看文章
fork函数是创建一个新的进程作为原进程的子进程,创建的子进程和父进程存在很多的相似性,首先父子进程的虚拟存储空间的用户空间是相同的,是将父进程的拷贝给子进程。同时父子进程对文件的操作是共享方式。因为父进程的文件描述符表被拷贝给了子进程(具体的原理参虚拟存储器的内容,私有对象写时拷贝实现了父子进程之间形成相互独立的地址空间)。因此父进程打开的所有文件描述符都在子进程中保存了(每个进程都有独立的描述符表)。由于所有的进程共享文件表、v-node表,所以父子进程的描述符表也是相同的,所以父子进程对文件是以共享的方式存在的。
#include
#include
#include
#include
#include
#include
#include
int main()
{
        int fd;
        char c[3];
        /*打开文件foobar.txt,采用的是只读形式*/
        fd = open("foobar.txt",O_RDONLY,0);
        if(fork()==0)//子进程
        {
                read(fd,&c,2);/*读文件的一个字节到c中*/
                c[2]='';
                printf("c = %s ",c);
                exit(0);
        /*子进程结束*/
        }
        /*下面是父进程的读操作*/
        wait(NULL);
        read(fd,&c,2);
        c[2]='';
        printf("c = %s ",c);
        exit(0);
}
其中foobar.txt中的内容是foobar。
编译调试以后的结果是:
[gong@Gong-Computer cprogram]$ gcc -g fileshare2.c -o fileshare2
[gong@Gong-Computer cprogram]$ ./fileshare2
c = fo
c = ob
原因分析:由于父子进程是以共享的方式控制已经打开文件的,因此对文件的操作也是相互影响的,因此读写文件的位置也会发生相应的改变。父(子)进程的文件读写位置会随着子(父)进程的文件读写位置改变而改变,因为此时改变的是文件表的文件位置项,而文件表是所有进程共享的,任何一个进程的修改都会影响到别的进程。但是父(子)进程对描述符的修改不会影响子(父)进程的描述符,因为close(fd)的操作只是改变文件表述符表中的内容,而该表是每个进程相互独立的,因此不会改变其他进程的表。
关键字:fork  多进程  共享 引用地址:分析fork后多进程对文件的共享

上一篇:采用mmap实现文件的复制
下一篇:共用体union的妙用

推荐阅读最新更新时间:2024-03-16 14:00

基于设计数据共享的板级热仿真技术研究(二)
3 叠层铜分布影响研究 系统级热仿真中各种不同板卡的PCB 板往往使用单一薄板模型替代,且赋予单一的热物性参数.而实际情 况是多层PCB 板各叠层以及每层不同区域的铜分布不均匀,传热能力差异明显.在某些情况下,此差异可能会使系统热仿真结果产生很大偏差.因此,需要对 PCB 板各叠层的铜分布进行详细建模与仿真分析. 3. 1 叠层建模对比分析 3. 1. 1 算例描述 以 下通过一个简化算例对比PCB 叠层详细建模与简单建模造成的偏差.以某产品板卡为例进行简化,分别对板卡叠层进行简单建模和复杂建模,对比各个芯片温度 差异.其中边界条件和网格设定均一致,边界条件为开放环境,水平风速为2 m/s.简单模型PCB 设定的3
[电源管理]
基于设计数据<font color='red'>共享</font>的板级热仿真技术研究(二)
中国共享单车市场恐将掀倒闭潮
中国悟空单车是最先倒下的一家共享单车企业,该公司在重庆共投放1,200辆单车,正式运营5个月后,90%的单车都已找不回;另一方面,在南京上挣扎运营近8个月后,町町单车运营方也人去楼空。另一家3Vbike则在6月宣布停运,主要原因是大量单车被盗。短短一个半月内,已经连续三家共享单车企业折翼。下面就随网络通信小编一起来了解一下相关内容吧。 截至2017年上半,中国共享单车用户规模已达到1.06亿人 据数据显示,3vbike今年2月从保定开始投放,进入了河北保定、廊坊、秦皇岛,还有福建莆田4座城市,共投放1,000辆单车,用户量约1.1万,每辆成本300元左右,其中90%以上都被盗。 3vbike创始人巫盛华曾表示,在二三线城市发
[网络通信]
首批约300辆新能源共享汽车落户北京
上世纪90年代,一些注重环境保护的欧洲企业开始推行汽车分享的理念,认为没有必要人人拥有汽车,否则对环境将是一个巨大的灾难。为了提高汽车的使用效率,他们倡导由若干个消费者共同使用一辆汽车。在这种背景下,全球第一家分时租车公司Zipcar于1999年在美国马萨诸塞州剑桥市孕育而生。然后逐步向加拿大及欧洲蔓延。  3月7日,约300辆新能源分时租赁汽车正式落户二三环桥下,市民在国贸桥等租赁点还将实现共享汽车与共享单车就地“换乘”。近日走访北京二三环多个桥下停车场发现,首汽集团新能源分时租车Gofun出行与北京市政路桥合作开发的首批分时租车停车点已正式投入使用。市民归还了电动汽车后,还可以在停车场找到共享单车,以电动汽车加自行车的组合,搞
[嵌入式]
共享汽车方便快捷,就是问题多了点
共享单车是指企业与政府合作,在校园、地铁站点、公交站点、居民区、商业区、公共服务区等提供自行车单车共享服务,是共享经济的一种新形态。2016年底以来,国内共享单车突然就火爆了起来,最近一张手机截屏蹿红网络。下面就随汽车电子小编一起来了解一下相关内容吧。 在这张截图上,24个共享单车应用的图标霸满了整个手机屏幕,真的是“一图说明共享单车的激烈竞争”。而在街头,仿佛一夜之间,共享单车已经到了“泛滥”的地步,各大城市路边排满各种颜色的共享单车。 共享汽车方便快捷,就是问题多了点 下载手机APP,注册账号,上传身份证和驾驶证并通过审核,预约下单,无钥开锁,完成这一流程后即可成功取车。在广州大学城一个租车网点,一队来自中山大学的学生正
[汽车电子]
通威独立共享储能电站项目签约
  7月31日,通威新能源高青独立共享储能电站项目签约仪式在通威国际中心成功举行。山东省淄博市委副书记、市长赵庆文,通威股份董事长、CEO刘舒琪,通威股份副董事长严虎出席并见证签约。通威新能源有限公司总经理助理何一弘,通威新能源(深圳)有限公司总经理邓卫平等全程参加。
[新能源]
SA商用、共建共享、异网漫游……5G新基建走出旷野
1800亿5G投资 资本开支占比超五成 2019年堪称是我国5G商用元年:6月,5G牌照发放;10月,运营商推出5G套餐,5G商用正式启动。 在2019年NSA 5G部署阶段,运营商的投资规模并不大。之前业界估计,2019年三家运营商5G投资规模在300亿元-450亿元区间。 随着这些天运营商财报的发布,“谜底”揭晓,2019年三家运营商的5G投资共412亿元(中国移动240亿元、中国电信93亿元、中国联通79亿元)。 总体来说,运营商在2019年5G投资比较谨慎,因为产业链尚在成熟阶段,商业模式还在探索之中。 2020年,运营商5G投资明显加码,不仅是投资金额,5G投资在资本开支中的占比也都大幅提升,三
[网络通信]
SA商用、共建<font color='red'>共享</font>、异网漫游……5G新基建走出旷野
属于共享汽车的时代要来了?这四大变化不得不知
继共享单车之后,“ 共享汽车 ”(官方称“分时租赁”)新规也正式发布了。 日前,由交通运输部、住房城乡建设部共同起草的《关于促进小微型客车租赁健康发展的指导意见》(以下简称《指导意见》)正式印发,这意味着包括“共享汽车”或“汽车共享”在内的小微型客车租赁将进入发展“快车道”。 与征求意见稿相比,在保持规范租赁车辆管理、落实身份查验制度、完善基础设施规划建设、加强日常经营管理、推动规模化、网络化、品牌化发展等顶层设计下,坚持鼓励汽车共享或共享汽车业态、在人流密集区为停车提供便利等之外,从政策定位到押金机制等,也有了一些新的变化。 变化一:从“汽车租赁”变为“小微型客车租赁” 征求意见期间,文件名称为《关于促进汽车租赁业健康发展的指导
[嵌入式]
共享车企入驻成都,盼达用车、途歌、car2share等都想尝鲜
如今经过 成都 的大街小巷,除了随处可见火锅店,还能经常见到 共享汽车 。   据了解,当前盼达用车、途歌、car2share、EVCARD、GoFun、美团、神州等共享汽车品牌已入驻成都。成都已成为一线城市外,汽车分时租赁的最佳实验场。   共享车企扎堆入驻 早在2015年,苏打出行就已在成都运营。随后,EVCARD、GoFun等大品牌陆续入驻。历经几年快速发展,这些企业在成都的共享汽车投放车量、活跃用户数、租还车网点数量等均持续大幅增长。   以GoFun为例,去年3月,GoFun联合四川省交投集团正式登陆成都,投放了200辆新能源 电动汽车 。   与此同时,其他共享汽车品牌也对成都当地商圈、高校、大型住宅区等区域进行针对性
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved