Fcntl 모듈
Fcntl 모듈 (Fcntl)
파일 설명자 제어에 쓰이는 fcntl(2) 상수들과 파일 열기 모드 상수들을 제공하는 모듈이에요. 저수준 파일 I/O(IO, File)를 다룰 때 플래그 값을 지정하는 데 사용돼요.
출처: Ruby 3.3 API
본문
F_* 상수 (파일 설명자 명령)
| 상수 | 설명 |
|---|---|
F_DUPFD |
인자 이상의 최소 미사용 파일 설명자로 복제해요. 복제된 설명자의 close-on-exec 플래그가 설정돼요. (Ruby는 경합을 피하려고 내부적으로 F_DUPFD_CLOEXEC를 사용하고, 없으면 F_SETFD를 사용해요.) |
F_DUP2FD |
FreeBSD 전용 상수예요. dup2 호출과 동등해요. |
F_DUP2FD_CLOEXEC |
FreeBSD 전용 상수예요. F_DUP2FD와 비슷하되 추가로 FD_CLOEXEC 플래그를 설정해요. |
F_GETFD |
파일 설명자의 close-on-exec 플래그를 읽어요. |
F_GETFL |
파일 설명자 플래그를 가져와요. O_* 플래그 하나 이상이 돼요. |
F_SETFD |
파일 설명자의 close-on-exec 플래그를 설정해요. |
F_SETFL |
파일 설명자 플래그를 설정해요. O_* 플래그 하나 이상이 돼요. |
F_GETLK |
파일의 특정 영역이 잠겨 있는지 확인해요. F_*LK 플래그 중 하나를 사용해요. |
F_SETLK |
파일의 특정 영역에 잠금을 획득해요. F_*LCK 플래그 중 하나를 사용해요. |
F_SETLKW |
필요하면 기다려가며 파일 특정 영역에 잠금을 획득해요. F_*LCK 플래그 중 하나를 사용해요. |
F_RDLCK |
파일 영역의 읽기 잠금 |
F_WRLCK |
파일 영역의 쓰기 잠금 |
F_UNLCK |
파일 영역의 잠금 제거 |
F_GETPIPE_SZ |
fd가 가리키는 파이프의 용량을 함수 결과로 돌려줘요. |
F_SETPIPE_SZ |
fd가 가리키는 파이프의 용량을 최소 arg 바이트로 바꿔요. |
O_* 상수 (파일 열기 플래그)
| 상수 | 설명 |
|---|---|
O_ACCMODE |
읽기/쓰기 플래그를 추출하기 위한 마스크 |
O_APPEND |
파일을 append 모드로 열어요. |
O_CREAT |
파일이 없으면 생성해요. |
O_EXCL |
O_CREAT와 함께 사용되며, 파일이 있으면 실패해요. |
O_NDELAY |
파일을 non-blocking 모드로 열어요. |
O_NOCTTY |
TTY가 제어 TTY가 되지 않게 열어요. |
O_NONBLOCK |
파일을 non-blocking 모드로 열어요. |
O_RDONLY |
파일을 읽기 전용 모드로 열어요. |
O_RDWR |
파일을 읽기/쓰기 모드로 열어요. |
O_TRUNC |
열 때 파일을 잘라내요(truncate). |
O_WRONLY |
파일을 쓰기 전용 모드로 열어요. |
기타
FD_CLOEXEC— close-on-exec 플래그의 값VERSION— 모듈 버전
이 상수들은 보통 IO.sysopen이나 fcntl(2)를 직접 호출하는 저수준 코드에서 쓰여요. 플랫폼마다 지원하는 상수가 조금씩 다를 수 있으니 주의해야 해요.