dup()와 dup2()는 파일 지정자 oldfd에 대한 복사본을
생성한다. 성공적으로 수행될경우 oldfd 지정자에 대한 복사본은
서로 공유되어서 사용된다. 즉 lock, 파일위치 포인터, 플래그등을
공유한다. 만약 원본 파일지정자 에서 위치변경이 일어 났다면,
다른 복사된 파일지정자에도 영향을 미친다.
그러나 이 두개의 파일지정자간 close-on-exe 플래그는 공유되지
않는다.
dup()를 이용해서 복사되어지는 새로운 파일 지정자는 사용되지 않는
가장 작은 파일 지정자를 이용한다. dup2()는 디스크립터는 파일 지정자를
지정할 수 있는데, 이전에 열린 newfd가 있다면
닫고 나서, oldfd를
newfd에 복사하면 된다.
1장. dup(2)
파일 지정자를 복사한다.
1.1절. 사용법
1.2절. 설명
dup()와 dup2()는 파일 지정자 oldfd에 대한 복사본을 생성한다. 성공적으로 수행될경우 oldfd 지정자에 대한 복사본은 서로 공유되어서 사용된다. 즉 lock, 파일위치 포인터, 플래그등을 공유한다. 만약 원본 파일지정자 에서 위치변경이 일어 났다면, 다른 복사된 파일지정자에도 영향을 미친다.
그러나 이 두개의 파일지정자간 close-on-exe 플래그는 공유되지 않는다.
dup()를 이용해서 복사되어지는 새로운 파일 지정자는 사용되지 않는 가장 작은 파일 지정자를 이용한다. dup2()는 디스크립터는 파일 지정자를 지정할 수 있는데, 이전에 열린 newfd가 있다면 닫고 나서, oldfd를 newfd에 복사하면 된다.
1.3절. 반환값
복사된 새로운 파일지정자를 리턴한다. 에러가 발생하면 -1 을 리턴한다.
1.4절. 에러
oldfd 가 열린 파일 지정자가 아닐경우
프로세스가 최대로 열수 있는 파일 지정자 갯수를 가진 상태에서 새로운 파일지정자를 얻고자 시도하는 경우
1.5절. 예제
1.6절. 참고문헌
dup 활용
Recent Posts
Archive Posts
Tags