+ -
当前位置:首页 → 问答吧 → 关于跨越fork调用使用管道,会打开4个文件描述符?

关于跨越fork调用使用管道,会打开4个文件描述符?

时间:2011-10-25

来源:互联网

刚刚开始学习,请教一下pipe掉用产生的文件描述符。
书上说的:
先调用
  pipe(filedescriptor);
然后调用
  fork();
那么子进程和父进程都可以访问管道的文件描述符,所以共有 4个文件描述符。
问啥是4个呢?

我在父进程和子进程中输出filedescriptor[0]结果都是3。

在父进程中先 close(filedescriptor[0]),write(filedescriptor[1]);

在子进程 read(filedescriptor[0]) 还是可以读出数据的。这是问什么呢,我已经先把文件描述符filedescriptor[0]也就是3给关了呀??? 

作者: fbling11   发布时间: 2011-10-25

顶了 顶了

作者: fbling11   发布时间: 2011-10-25