나는 사람들이 용어를 ulimi
t & rlimit
상호 교환 적으로 사용하는 것을 보았습니다 .
답변
혼동은 ulimit가 감싸는 기본 시스템 호출이 setrlimit 라고하는 사실에서 비롯된 것이라고 생각합니다 .
ulimit 매뉴얼 페이지 에서 발췌
ulimit () 함수는 프로세스 제한을 제어해야합니다. 이 함수로 제어 할 수있는 프로세스 한계에는 쓸 수있는 단일 파일의 최대 크기가 포함됩니다 (RLIMIT_FSIZE와 함께 setrlimit ()를 사용하는 것과 같습니다).
또한 setrlimit
매뉴얼 페이지 를 보면 한계 정보를 포함하는 기본 데이터 구조가 호출 rlimit
됩니다.
setrlimit 매뉴얼 페이지 에서 발췌
getrlimit 및 setrlimit는 각각 자원 제한을 가져오고 설정합니다. 각 자원에는 rlimit 구조 (getrlimit () 및 setrlimit ()에 대한 rlim 인수)에 의해 정의 된대로 소프트 및 하드 한계가 연관되어 있습니다.
struct rlimit { rlim_t rlim_cur; /* Soft limit */ rlim_t rlim_max; /* Hard limit (ceiling for rlim_cur) */ };
참고 문헌
답변
ulimit man page를 참조 하면 시스템의 한계 와 printf, read, source 등과 같은 bash-builtins 의 일부를 제어하는 bash 쉘 명령입니다 .
getrlimits 페이지를 참조 하면 시스템 호출을 사용하여 시스템 제한을 제어하는 C / C ++를 통해 API를 나타냅니다. 추가 glibc 설명서 는 rlimits (= 자원 제한)를 더 잘 설명합니다.
답변
ulimit
두 가지가 될 수 있습니다.
-
더 이상 사용되지 않는 POSIX 7 C API 인터페이스
getrlimit()
: http://pubs.opengroup.org/onlinepubs/9699919799/functions/ulimit.html응용 프로그램은 폐기 된 ulimit () 함수 대신 getrlimit () 또는 setrlimit () 함수를 사용해야합니다.
sim
POSIX 6에서 대답 했을 때는 그렇지 않았습니다 .GNU / Linux에서
getrlimit()
와ulimit()
으로 구현되는sys_getrlimit
시스템 호출. 없습니다sys_ulimit
. -
더 이상 사용되지 않는 POSIX 7 CLI 유틸리티 : http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ulimit.html
ulimit()
또는 로 구현할 수 있습니다getrlimit()
.