c - 《linux编程实践教程》中的两个习题, 有关fork的
迷茫
迷茫 2017-04-17 11:48:25
[Linux讨论组]

然后结果为:

==================================
不太理解为何父进程已经把文件关了,而子进程依旧可以写入。
而且fork()创建的子进程不是应该执行fork之后的代码吗,为何题2又可以把第一句话写入

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
巴扎黑

个人认为fork出来的东西是拷贝的,意思就是

  • fd是文件描述符: 父进程的文件描述符等于子进程的文件描述符,关闭其中一个,另外一个值相等的也就关闭了。
  • fp是文件流的指针: 父进程的fp指针"等于"子进程的fp指针,关闭其中一个指针,并没有销毁回收另外一个指针,他们的地址不同父进程**fp!=子进程**fp。

表打我。。。

高洛峰
  1. fork以后的语句子进程都会执行,所以在父进程关闭文件之前,已经把hello写入了。
  2. 同样不明白= =。
天蓬老师

子进程会复制一父进程的变量以及环境,
fork()之后执行fork()下面的代码,
请看UNIX环境编程·进程篇

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号