Respostas:
Eu acho que a confusão vem do fato de que o sistema subjacente chama de ulimit wraps é chamado setrlimit .
trecho da página de manual ulimit
A função ulimit () deve controlar os limites do processo. Os limites do processo que podem ser controlados por essa função incluem o tamanho máximo de um único arquivo que pode ser gravado (isso é equivalente ao uso de setrlimit () com RLIMIT_FSIZE).
Além disso, se você olhar para a setrlimit
página de manual, a estrutura de dados subjacente que contém as informações de limite é chamada rlimit
.
trecho da página de manual setrlimit
getrlimit e setrlimit get e definem limites de recursos, respectivamente. Cada recurso possui um limite flexível e flexível associado, conforme definido pela estrutura rlimit (o argumento rlim para getrlimit () e setrlimit ()):
struct rlimit { rlim_t rlim_cur; /* Soft limit */ rlim_t rlim_max; /* Hard limit (ceiling for rlim_cur) */ };
Referindo-se à página de manual ulimit , é um comando bash shell para controlar os rlimits do sistema e uma parte dos bash-builtins como printf, read, source, etc.
Na página getrlimits de referência , ela representa as APIs via C / C ++ usando chamadas do sistema para controlar os rlimits do sistema. A documentação adicional da glibc explica melhor os rlimits (= limites de recursos).
ulimit
pode ser duas coisas:
uma interface da API do POSIX 7 C que foi preterida em favor de getrlimit()
: http://pubs.opengroup.org/onlinepubs/9699919799/functions/ulimit.html
Os aplicativos devem usar as funções getrlimit () ou setrlimit () em vez da função obsoleta ulimit ().
Este não foi o caso quando sim
respondido no POSIX 6.
No GNU / Linux, getrlimit()
e ulimit()
são implementados com a sys_getrlimit
chamada do sistema. Não existe sys_ulimit
.
um utilitário CLI POSIX 7 não reprovado: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ulimit.html
Pode ser implementado com ulimit()
ou getrlimit()
.