完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
父子进程对文件的操作:
1.子进程继承父进程中打开的文件。 前提是父进程中将文件打开得到一个文件描述符,之后再调用fork函数创建子进程。结果得到的内容是结续写,实际上本质原因是父子进程当中fd对应的文件指针是彼此关联的。 2.父子进程同时打开同一个文件。 父子进程中写入一个sleep(1)进行休眠,来是的其他进程进行调度,从而保证在一个进程中文件不被关闭,因为当我们在一个进程中打开一个文件之后处理相应的内容之后,我们执行的是关闭这个文件操作,此子进程就得不到这个文件的文件描述符。 父子进程中分别打开文件之后再写入内容的话是分别写,这里使用的是O_RDWR,两个进程就是完全独立的,文件表也是独立的。 如果使用O_APPEND的话还是可以实现我们说的接续写。 如果父进程在使用fork之前做的事情对于子进程影响很大,也就是我们在fork之前程序所对应的内容,我们在具体使用的时候要注意这一点。而在fork之后的if语句当中对于父进程和子进程的程序内容是没有相互影响的。本质原因是fork内部实际上已经复制父进程的PCB生成一个新的进程,所以fork返回时子进程已经完全与父进程独立,并且两者是独立被系统调度的。子进程的最终目标是要独立的运行另外的程序。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4890 浏览 0 评论
87403 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4718 浏览 2 评论
3610 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2476 浏览 0 评论
1994浏览 3评论
1277浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1338浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1231浏览 0评论
1172浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 12:35 , Processed in 1.158405 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号