dup为备份描述符;
dup2为重定向描述符;
dup2为重定向描述符;
例子:
int fd_file = open("test.log", 0666);
//备份输出描述符
int fd_backup = dup(STDOUT_FILENO);
/* 重定向标准输出到文件 */
dup2(fd_file, STDOUT_FILENO);
close(fd_file);/* 重定向后可以关闭*/
write(STDOUT_FILENO, "write to file\n", 14); /* 写入testdup2.dat中 */
/* 重定向恢复标准输出 */
dup2(fd_backup, STDOUT_FILENO)
close(fd_backup);/* 重定向后可以关闭*/
write(STDOUT_FILENO, "write to screen\n", 16); /* 输出到屏幕上 */