+ -
当前位置:首页 → 问答吧 → 好吧,牛角尖了。

好吧,牛角尖了。

时间:2010-08-06

来源:互联网

Centos 5.4上用man 2 dup2():

dup2() makes newfd be the copy of oldfd, closing newfd first if necessary.

被关闭的应该是旧的fd吧?

作者: milujite   发布时间: 2010-08-06

man上说的没有错/

作者: davelv   发布时间: 2010-08-06



QUOTE:
man上说的没有错/
davelv 发表于 2010-08-06 15:14




    意思是说newfd如果已经被使用则关闭还是怎么的?

作者: milujite   发布时间: 2010-08-06



QUOTE:
意思是说newfd如果已经被使用则关闭还是怎么的?
milujite 发表于 2010-08-06 16:24




    就是这个意思.man这手册这玩意一般不至于到现在了还让人挑出这么明显的错误,毕竟已经被看了几十年不止了

作者: liwangli1983   发布时间: 2010-08-06

本帖最后由 milujite 于 2010-08-06 16:41 编辑

dup2会关闭旧的fd么?man里并没提到。某书上却这么写着
下载 (36.6 KB)
2010-08-06 16:38

作者: milujite   发布时间: 2010-08-06

man的意思是在必要的情况下关闭newfd。必要指的是newfd当前指向了一个打开的和oldfd不同的文件描述符,所以要关闭newfd,然后再把oldfd指向的文件描述符数据复制到newfd中去,要不然可能会造成newfd描述的文件数据丢失(如输出缓存没有刷新)。

作者: davelv   发布时间: 2010-08-06

相关阅读 更多

热门下载

更多