안녕하세요 개발 중 문의 사항이 있어서 이렇게 글을 올려 봅니다.
dup() 함수는 인자로 들어온 파일디스크립터를 커널이 가장작은 수의 디스크립터로 복사해서 return 해주는 역할을 한다고 알고 있습니다.
즉
fd = open("temp.txt".....);
tempfd = dup(fd);
위의 코드를 처음 부분에서 실행하면
fd 는 처음 open을 썻으므로 3이 return 되고
tempfd 는 4가 리턴되는데, 두개의 디스크립터가 같은 파일테이블을 보고 있으므로
fd 에 write 하나 tempfd 에 write 하나 temp.txt 파일에 써지는 것을 확인 했습니다.
그런데 여기서 문의 사항 입니다.
redirect 공부 중 도무지 이해가 가지를 않네요
int main(int argc, char* argv[]){
int fd,ld;
ld = open("output", O_WRONLY|O_CREAT|O_TRUNC, S_IRUSR| S_IWUSR);