Rechercher une page de manuel
getrlimit
Langue: ko
Version: 1993년 7월 23일 (fedora - 25/11/07)
Section: 2 (Appels système)
이름
getrlimit, getrusage, setrlimit - 자원(resource)의 제한값과 사용값을 알아내거나 설정한다.사용법
#include <sys/time.h>#include <sys/resource.h>
#include <unistd.h>
int getrlimit (int resource, struct rlimit *rlim);
int getrusage (int who, struct rusage *usage);
int setrlimit (int resource, const struct rlimit *rlim);
설명
getrlimit와 setrlimit는 각각 자원의 제한값들을 알아내거나 설정한다. resource는 다음 중 하나여야 한다:RLIMIT_CPU /* 초 단위의 CPU 시간 */
RLIMIT_FSIZE /* 최대 파일 크기 */
RLIMIT_DATA /* 최대 데이타 크기 */
RLIMIT_STACK /* 최대 스택 크기 */
RLIMIT_CORE /* 최대 코어 파일 크기 */
RLIMIT_RSS /* 최대 거주 집합 크기 */
RLIMIT_NPROC /* 최대 프로세스 수 */
RLIMIT_NOFILE /* 최대 열 수 있는 파일의 수 */
RLIMIT_MEMLOCK /* 최대 잠긴 기억 장소 주소 공간 */
RLIMIT_AS /* 주소 공간(가상 메모리) 제한값 */
만일 RLIM_INFINITY로 설정되었다면 자원은 무제한이다. RLIMIT_OFILE는 RLIMIT_NOFILE에 대한 BSD 이름이다.
rlimit 구조체는 다음과 같다:
struct rlimit { rlim_t rlim_cur; rlim_t rlim_max; };
getrusage는 현재 자원의 사용값을 반환한다. who는 RUSAGE_SELF나 RUSAGE_CHILDREN 중 하나이다.
struct rusage { struct timeval ru_utime; /* 사용된 사용자 시간 */ struct timeval ru_stime; /* 사용된 시스템 시간 */ long ru_maxrss; /* 최대 거주 집합 크기 */ long ru_ixrss; /* 총 공유 메모리 크기 */ long ru_idrss; /* 공유되지 않은 총 데이타 크기 */ long ru_isrss; /* 공유되지 않은 총 스택 크기 */ long ru_minflt; /* 페이지 반환(reclaims) */ long ru_majflt; /* 페이지 폴트 */ long ru_nswap; /* 스왑 */ long ru_inblock; /* 블럭 입력 연산 */ long ru_oublock; /* 블럭 출력 연산 */ long ru_msgsnd; /* 보낸 메세지 */ long ru_msgrcv; /* 받은 메세지 */ long ru_nsignals; /* 받은 시그널 */ long ru_nvcsw; /* 자발적인 문맥 교환 */ long ru_nivcsw; /* 비자발적인 문맥 교환 */ };
반환값
성공시, 0이 리턴된다. 에러시, -1이 리턴되며, errno는 적당한 값으로 설정된다.에러
- EFAULT
- rlim나 usage가 접근할 수 없는 주소 공간을 가리키고 있다.
- EINVAL
- getrlimit또는 setrlimit가 유효하지 않은 resource로 호출되었거나, getrusage가 유효하지 않은 who로 호출되었다.
- EPERM
- 비-슈퍼 유저가 소프트 제한값과 하드 제한값을 현재의 하드 제한값보다 높은 값으로 증가시키기 위해 setrlimit()를 사용하였거나, 슈퍼 유저가 현재 커널 최대값보다 큰값으로 RLIMIT_NOFILE을 변경하려고 시도했다.
호환
SVr4, BSD 4.3관련 항목
ulimit(2), quotactl(2)역자
정강훈 <skyeyes@soback.kornet.net>, 2000년 5월 12일Contenus ©2006-2023 Benjamin Poulain
Design ©2006-2023 Maxime Vantorre