La fonction ulimit () doit contrôler les limites du processus. Les limites de processus qui peuvent être contrôlées par cette fonction incluent la taille maximale d'un seul fichier qui peut être écrit (cela équivaut à utiliser setrlimit () avec RLIMIT_FSIZE).
De plus, si vous regardez la setrlimitpage de manuel, la structure de données sous-jacente qui contient les informations de limite est appelée rlimit.
getrlimit et setrlimit obtiennent et définissent des limites de ressources respectivement. Chaque ressource a une limite logicielle et matérielle associée, telle que définie par la structure rlimit (l'argument rlim de getrlimit () et setrlimit ()):
struct rlimit {
rlim_t rlim_cur; /* Soft limit */
rlim_t rlim_max; /* Hard limit (ceiling
for rlim_cur) */
};
Se référant à la page de manuel ulimit , il s'agit d'une commande shell bash pour contrôler les limites du système et une partie des commandes intégrées bash comme printf, read, source, etc.
En référence à la page getrlimits , elle représente les API via C / C ++ à l'aide d'appels système pour contrôler les limites du système. Une documentation supplémentaire sur la glibc explique mieux les limites (= limites de ressources).
Réponses:
Je pense que la confusion vient du fait que l'appel système sous-jacent qui encapsule ulimit est appelé setrlimit .
extrait de la page de manuel ulimit
De plus, si vous regardez la
setrlimit
page de manuel, la structure de données sous-jacente qui contient les informations de limite est appeléerlimit
.extrait de la page de manuel setrlimit
Les références
la source
Se référant à la page de manuel ulimit , il s'agit d'une commande shell bash pour contrôler les limites du système et une partie des commandes intégrées bash comme printf, read, source, etc.
En référence à la page getrlimits , elle représente les API via C / C ++ à l'aide d'appels système pour contrôler les limites du système. Une documentation supplémentaire sur la glibc explique mieux les limites (= limites de ressources).
la source
ulimit
peut être deux choses:une interface API POSIX 7 C déconseillée au profit de
getrlimit()
: http://pubs.opengroup.org/onlinepubs/9699919799/functions/ulimit.htmlCe n'était pas le cas lors de la
sim
réponse sur POSIX 6.Sur GNU / Linux,
getrlimit()
etulimit()
sont implémentés avec l'sys_getrlimit
appel système. Il n'y en a passys_ulimit
.un utilitaire CLI POSIX 7 non déconseillé: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ulimit.html
Il peut être implémenté avec
ulimit()
ougetrlimit()
.la source