반응형

서술자 3

Linux : dup과 dup2

/* * http://sosal.tistory.com/ * made by so_Sal */ 이 포스팅은 open, read, write 등의 시스템콜을 기본적으로 안다는 가정 하에 작성된 글입니다. 위 시스템콜에 대해서 모르신다면 :: LINK_ 1. dup 2. dup2 1.dup - 파일 식별자를 복제한다. #include // man page 참조 int dup( int fd ); (dup은 duplication의 약자겠죠?.. 아마.. ㅋㅋ) 새로운 파일 서술자를 반환하지만, 숫자만 다를 뿐 원래의 서술자, 복제된 서술자 모두 완벽히 같은 파일을 가리킨다. 실패 : -1 반환 (파라미터로 전달된 값이 fd가 아닐경우, 더이상 fd를 할당하지 못할경우) /* * fd1 파일 디스크립터에 open을 ..

Linux - fcntl File control

/* * http://sosal.tistory.com/ * made by so_Sal */ fcntl - File control #include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); (flock 구조체에 대해서는 게시하지 않았습니다. ) 첫번째 매개변수 fd부터 보겠습니다. fd - 파일 서술자(file descriptor) ㄴ 제어하기를 원하는 파일의 서술자를 지정하는 매개변수입니다. 리눅스 시스템에서 모든 프로세스는 0, 1, 2 라는 3개의 파일 서술자는 미리 정해져있습니다. 각각 입력(0), 출력(1), 에러(2)를 ..

Socket 04. close() shutdown() 소켓 서술자 닫기

/* * http://sosal.tistory.com/ * made by so_Sal */ #include int close(int file_descriptor); file descriptor로 지정된 파일 서술자와, 그 파일 서술자가 가리키는 실제 파일과의 연결을 차단. write()함수로 파일 쓰기를 수행할 때에는 자료가 실제로 기억되었는지 확인하지 못할 수 있다. 그래서 이런경우에 close의 반환값을 점검한다. 성공시 0, 실패시 -1 반환. #include int shutdown() :: 부분닫기 소켓 함수로 생성된 파일 서술자에는 (소켓 버퍼라고도 한다.) 송신 버퍼와 수신 버퍼 두가지가 열려있는데, shutdown()함수로 각각의 부분적 연결을 차단 가능. flags :: SHUT_RD 수신..

반응형