
posix_getrlimit 함수는 프로세스의 리소스 제한을 확인할 수 있는 함수입니다. 리소스 제한의 종류는 다음과 같습니다.
- RLIMIT_CORE: 코어 파일의 크기 제한
- RLIMIT_CPU: CPU 시간의 제한
- RLIMIT_DATA: 데이터 세그먼트의 크기 제한
- RLIMIT_FSIZE: 파일 크기의 제한
- RLIMIT_MEMLOCK: 메모리 잠금의 제한
- RLIMIT_NOFILE: 열린 파일의 제한
- RLIMIT_RSS: 프로세스의 메모리 사용량의 제한
- RLIMIT_STACK: 스택의 크기 제한
- RLIMIT_NPROC: 생성 가능한 프로세스의 수 제한
- RLIMIT_OFILE: 열린 파일의 제한
- RLIMIT_MSGQUEUE: 메시 큐의 크기 제한
- RLIMIT_NICE: 프로세스의 우선순위의 제한
- RLIMIT_RTPRIO: 프로세스의 우선순위의 제한
- RLIMIT_SIGPENDING: 시그널의 수 제한
posix_getrlimit 함수를 사용하여 각 리소스 제한을 확인하는 방법은 다음과 같습니다.
#hostingforum.kr
c
#include
int main() {
struct rlimit limit;
// RLIMIT_CORE 확인
getrlimit(RLIMIT_CORE, &limit);
printf("RLIMIT_CORE: %ldn", limit.rlim_cur);
// RLIMIT_CPU 확인
getrlimit(RLIMIT_CPU, &limit);
printf("RLIMIT_CPU: %ldn", limit.rlim_cur);
// RLIMIT_DATA 확인
getrlimit(RLIMIT_DATA, &limit);
printf("RLIMIT_DATA: %ldn", limit.rlim_cur);
// RLIMIT_FSIZE 확인
getrlimit(RLIMIT_FSIZE, &limit);
printf("RLIMIT_FSIZE: %ldn", limit.rlim_cur);
// RLIMIT_MEMLOCK 확인
getrlimit(RLIMIT_MEMLOCK, &limit);
printf("RLIMIT_MEMLOCK: %ldn", limit.rlim_cur);
// RLIMIT_NOFILE 확인
getrlimit(RLIMIT_NOFILE, &limit);
printf("RLIMIT_NOFILE: %ldn", limit.rlim_cur);
// RLIMIT_RSS 확인
getrlimit(RLIMIT_RSS, &limit);
printf("RLIMIT_RSS: %ldn", limit.rlim_cur);
// RLIMIT_STACK 확인
getrlimit(RLIMIT_STACK, &limit);
printf("RLIMIT_STACK: %ldn", limit.rlim_cur);
// RLIMIT_NPROC 확인
getrlimit(RLIMIT_NPROC, &limit);
printf("RLIMIT_NPROC: %ldn", limit.rlim_cur);
return 0;
}
위 코드는 각 리소스 제한을 확인하는 방법을 보여줍니다. getrlimit 함수를 사용하여 리소스 제한을 확인하고, limit 구조체의 rlim_cur 필드에 저장된 값을 출력합니다.
2025-05-16 15:24