Funkcja ulimit () kontroluje granice procesu. Ograniczenia procesu, które mogą być kontrolowane przez tę funkcję, obejmują maksymalny rozmiar pojedynczego pliku, który można zapisać (jest to równoważne z użyciem setrlimit () z RLIMIT_FSIZE).
Dodatkowo, jeśli spojrzysz na setrlimitstronę man, wywoływana jest struktura danych, która zawiera informacje o limicie rlimit.
getrlimit i setrlimit odpowiednio pobierają i ustawiają limity zasobów. Każdy zasób ma przypisany miękki i twardy limit, zdefiniowany przez strukturę rlimit (argument rlim dla getrlimit () i setrlimit ()):
struct rlimit {
rlim_t rlim_cur; /* Soft limit */
rlim_t rlim_max; /* Hard limit (ceiling
for rlim_cur) */
};
Odnosząc się do strony getrlimits , reprezentuje interfejsy API za pomocą C / C ++ przy użyciu wywołań systemowych do kontroli ograniczeń systemowych. Dodatkowa dokumentacja glibc na temat wyjaśnień ograniczeń (= limitów zasobów) lepiej.
Odpowiedzi:
Myślę, że zamieszanie wynika z faktu, że podstawowe wywołanie systemowe, które otacza ulimit, nazywa się setrlimit .
fragment strony man ulimit
Dodatkowo, jeśli spojrzysz na
setrlimit
stronę man, wywoływana jest struktura danych, która zawiera informacje o limicierlimit
.fragment strony man setrlimit
Bibliografia
źródło
Odnosząc się do strony manuala ulimit , jest to polecenie powłoki bash, aby kontrolować ograniczenia systemu i część wbudowanych poleceń bash, takich jak printf, read, source itp.
Odnosząc się do strony getrlimits , reprezentuje interfejsy API za pomocą C / C ++ przy użyciu wywołań systemowych do kontroli ograniczeń systemowych. Dodatkowa dokumentacja glibc na temat wyjaśnień ograniczeń (= limitów zasobów) lepiej.
źródło
ulimit
mogą być dwie rzeczy:interfejs API POSIX 7 C, który został wycofany na korzyść
getrlimit()
: http://pubs.opengroup.org/onlinepubs/9699919799/functions/ulimit.htmlNie było tak w przypadku
sim
odpowiedzi na POSIX 6.W systemie GNU / Linux
getrlimit()
iulimit()
są realizowane za pomocąsys_getrlimit
wywołania systemowego. Nie masys_ulimit
.nieaktualne narzędzie interfejsu wiersza polecenia POSIX 7: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ulimit.html
Można go zaimplementować za pomocą
ulimit()
lubgetrlimit()
.źródło