一开始我也不是很懂,后来看了一篇别人的博客觉得写得特别好,现在拷贝下来分享一下。
如果换成write函数
如果换成write函数,先open()后fork(),那么父子进程共享文件描述符,即使在子进程使用close(fd),父进程依然可以写入文件。
如果先fork后open,那么此时父子进程相当于各自在自己的空间里进行写不在共享,如果子进程先运行写入字符“12”,那么父进程写入的字符“34”将覆盖子进程写的内容。
如下图:
结果如下:
一开始我也不是很懂,后来看了一篇别人的博客觉得写得特别好,现在拷贝下来分享一下。
如果换成write函数
如果换成write函数,先open()后fork(),那么父子进程共享文件描述符,即使在子进程使用close(fd),父进程依然可以写入文件。
如果先fork后open,那么此时父子进程相当于各自在自己的空间里进行写不在共享,如果子进程先运行写入字符“12”,那么父进程写入的字符“34”将覆盖子进程写的内容。
如下图:
结果如下: