dup和dup2函数(转)
?
原文url: http://learn.akae.cn/media/ch29s03.html
?
例?29.2.?dup和dup2示例程序 图?29.9.?dup/dup2示例程序 重点解释两个地方: 第3幅图,要执行 第5幅图,要执行 ?dup2(fd, 1);
,文件描述符1原本指向tty
,现在要指向新的文件somefile
,就把原来的关闭了,但是tty
这个文件原本有两个引用计数,还有文件描述符save_fd
也指向它,所以只是将引用计数减1,并不真的关闭文件。dup2(save_fd, 1);
,文件描述符1原本指向somefile
,现在要指向新的文件tty
,就把原来的关闭了,somefile
原本只有一个引用计数,所以这次减到0,是真的关闭了。