天天看点

linux dup2函数

一.概述

dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。

二.头文件

#include <unistd.h>
           

四.函数接口

int dup2(int fd, int fd2);
           

dup2函数成功返回时,目标描述符fd2将变成源描述符fd的复制品,换句话说,两个文件描述符现在都指向同一个文件,即函数第一个参数fd指向的文件。        

五.使用方法

重定向stdout

int fd;
fd = open("./log.txt",O_RDWR | O_CREATE,S_IRWXG);
close(1); //使用dup2时,如果参数fd2对应的文件描述符已打开,则要先关闭它
dup2( fd, 1 );
           

 这样stdout就定向到了fd,即标准输出会输出到log.txt中

继续阅读