父子进程共享文件描述符

说明:

1、父进程和子进程可以共享打开的文件描述符。

2、父子进程共享文件描述符的条件:在fork之前打开文件。

3、对于两个完全不相关的进程,文件描述符不能共享。

4、父子进程文件描述符是共享的,但是关闭的时候可以分别关闭,也可以同时在公有代码中关闭

进程20029对文件的读取后的当前位置应该为data.in的k字符所在的位置,进程20030是由20029进程之后开始读取的,他读取文件内容不是从a开始,而是从k开始,说明20030共享了20029的文件表。进程调用fork后,子进程和父进程的文件描述符所对应的文件表项是共享的,这意味着子进程对文件的读写直接影响父进程的文件位移量;

其他:

在数据类型为全局变量时,父子进程之间的数据不共享

当数据类型为局部变量的时候,父子进程之间的数据不共享

当数据类型是动态开辟时,父子进程的数据不共享

对于数据类型为文件时,父子进程之间共享数据,具体而言是共享了文件偏移量

猜你喜欢

转载自blog.csdn.net/asdfsadfasdfsa/article/details/87622060