C 언어에서 자식 프로세스에 필요 없는 파일 번호를 여러 개 남기고 싶지 않을 때 close_range()로 범위를 정리할 수 있다.
헤더와 선언
#include <linux/close_range.h>
int close_range(unsigned int first, unsigned int last, unsigned int flags);반환값과 주의점
성공은 0, 실패는 -1이다. CLOSE_RANGE_CLOEXEC를 쓰면 즉시 닫는 대신 exec 시 닫히도록 표시한다.
first부터 last까지 양 끝을 포함한다. 표준 입력, 표준 출력, 표준 오류는 보통 0, 1, 2이므로 어디서부터 닫는지 구분해야 한다.
답글 달기