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