dup2 에 대한 간단한 질문입니다.

hooriza의 이미지

dup2(fd, STDOUT_FILENO);

로 표준출력을 파일로 돌려놓았습니다.

다시 원래 표준출력으로 되돌려놓으려면 어떻게 해야하나요?-_-

voider의 이미지

터미널 파일을 열어서 다시 dup 해주면 되지만 이것은 별로 추천해주고 싶지 않고요
dup하기 전에 1 파일 디스크립터를 복제해놓은 다음에 나중에 다시 되돌려 놓으면 되지 않을까요?

-- 아쉬운 하루 되세요 --

hooriza의 이미지

int foo = dup(STDOUT_FILENO);

dup2(fd, STDOUT_FILENO);

....출력....

close(fd);

dup2(foo, STDOUT_FILENO);
close(foo);

말씀하신대로 해결하였습니다~ D