当前位置:  技术问答>linux和unix

unix环境高级编程中一个习题的疑问

    来源: 互联网  发布时间:2016-06-23

    本文导语:  题目:  The following sequence of code has been observed in various programs:        dup2(fd, 0);        dup2(fd, 1);        dup2(fd, 2);        if (fd > 2)            close(fd);  To see why the if test is needed, ass...

题目:
 The following sequence of code has been observed in various programs:
       dup2(fd, 0);
       dup2(fd, 1);
       dup2(fd, 2);
       if (fd > 2)
           close(fd);
 To see why the if test is needed, assume that fd is 1 and draw a picture of what happens to the three descriptor entries and the corresponding file table entry with each call to dup2. Then assume that fd is 3 and draw the same picture.
 给出的答案:
 If fd is 1, then the dup2(fd, 1) returns 1 without closing descriptor 1. (Remember our discussion of this in Section 3.12.) After the three calls to dup2, all three descriptors point to the same file table entry. Nothing needs to be closed.
 If fd is 3, however, after the three calls to dup2, four descriptors are pointing to the same file table entry. In this case, we need to close descriptor 3.
 
 看答案的意思难道指向同一个文件表项的文件描述符个数有限制么?

|
没有限制,只是网络程序(比如inetd)通常会这么用, 比如inetd启动telnetd时。

|
我曾经在网上搜过相关的答案,有两个原因。你可以参考吧,毕竟只是一个习题。首先是为了节约文件描述符,最后一句话表明了,不是有无限制,是没必要。二是为了防止关闭0.1,2等标准输出,输入,出错描述符。所以要判断是否大于2.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高级UNIX编程和UNIX环境高级编程是不是一本书
  • 读过 Unix网络编程 或者 熟知Unix网络编程的 的进来看一下
  • 想看linux内核源代码,另外手头上有一本《unix环境高级编程》,需要先把《unix环境高级编程》看完之后再看内核吗?
  • 我下载了UNIX环境高级编程的源码,可是打开时有错误,怎么才可以打开?还有谁有《UNIX环境高级编程(英文版)》的chm格式的ebook?
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • 想学linux下程序开发,不知道买哪本书好《UNIX环境高级编程》(中文第一版)还是《UNIX环境高级编程》(英文第二版)
  • unix编程与linux编程有什么区别?
  • [学习UNIX编程]初学UNIX编程,遇到一个小小的问题,烦劳大虾帮忙解惑,谢谢!
  • 看Unix环境高级编程,提到了V和bsd,有很多不同,但是没有提到Linux,请问linux跟BSD或者unix V 编程细节哪些不同的,特别是线程,进程,和socke
  • 都说《UNIX环境高级编程》好,对于学linux编程好不好?《Linux下的c编程》《嵌入式系统C编程》那个更适合初学者?各是那个出版社的?(
  • 我初学 Unix 编程,在看《Unix环境高级编程》时有一个问题请指教。
  • 我学&用Linux编程,手里有《UNIX环境高级编程》,看它行吗?
  • 谁有介绍UNIX下面函数的书啊,类似UNIX编程参考手册的东西
  • UNIX编程艺术,了解unix文化强烈推荐这本书
  • UP有分,推荐几本书给我吧,兄弟们,UNIX入门与编程的与编程的,
  • 学Linux编程前要学Unix吗?哪里有学Linux编程的好书下载?
  • 入门问题,我想向UNIX编程方向发展,单目前不会UNIX,我该如何做
  • 请问:如果懂unix编程,那么会懂linux编程吗?一般来说:它们有什么关系呢?
  • 都说《UNIX环境高级编程》好,对于学linux编程好不好?是那个出版社的,是中文版吗?
  • 学习UNIX编程应该从那里入手?
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • unix/Linux下c++ boost thread库读写锁介绍
  • 没有unix系统我如何学习unix
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • unix盘哪里有下载的??哪里有比较好的unix论坛??万分感谢!!!!!!!!!
  • php将unix时间戳转换成字符串时间函数(date)
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • UNIX特急!!!digital unix问题,请专家快来!!!
  • UNIX支持中文否,请推荐UNIX好书


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3