getrlimit | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
int getrlimit (int resource, struct rlimit *rlim);
int setrlimit (int resource, const struct rlimit *rlim);
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
struct rlimit { rlim_t rlim_cur; /* limite souple */ rlim_t rlim_max; /* limite stricte (plafond de rlim_cur) */ };La limite souple est la valeur que le noyau prend en compte pour la ressource correspondante. La limite stricte agit comme un plafond pour la limite souple : un processus non-privilégié peut seulement modifier sa limite souple dans l'intervalle entre zéro et la limite stricte, et diminuer (de manière irréversible) sa limite stricte. Un processus privilégié (sous Linux : un processus ayant la capacité CAP_SYS_RESOURCE) peut modifier ses deux limites à sa guise.
La valeur RLIM_INFINITY indique une limite infinie pour la ressource (aussi bien pour getrlimit() que pour setrlimit()).
resource doit être l'un des éléments suivants :
bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) + attr.mq_maxmsg * attr.mq_msgsizeoù attr est la structure mq_attr spécifiée comme le quatrième argument de mq_open(3).
Le premier cumulateur dans la formule, qui inclut sizeof(struct msg_msg *) (4 octets sur Linux/i386), s'assure que l'utilisateur ne puisse pas créer un nombre illimité de messages de taille nulle (de tels messages consomment néanmoins chacun un peu de mémoire)
VALEUR RENVOYÉE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
ERREURS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
CONFORMITÉ | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
NOTES | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
BOGUES | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Un bogue du noyau fait que RLIMIT_RTPRIO ne fonctionne pas dans le noyau 2.6.12 ; cela a été corrigé dans le noyau 2.6.13.
Dans le noyau 2.6.12, il y avait un écart de 1 entre l'intervalle de priorité renvoyé par getpriority(2) et RLIMIT_NICE. Cela a pour effet que le plafond actuel de la valeur de priorité était calculé de la façon suivante : 19 - rlim_cur. Cela a été corrigé dans le noyau 2.6.13.
Les noyaux antérieurs au 2.4.22 ne diagnostiquaient pas l'erreur EINVAL pour setrlimit() lorsque rlim->rlim_cur était plus grand que rlim->rlim_max.
VOIR AUSSI | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 11 octobre 1996 et révisée le 6 juin 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 getrlimit ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
EFAULT | ERREURS |
EINVAL | ERREURS |
EPERM | ERREURS |
RLIMIT_AS | DESCRIPTION |
RLIMIT_CORE | DESCRIPTION |
RLIMIT_CPU | DESCRIPTION |
RLIMIT_DATA | DESCRIPTION |
RLIMIT_FSIZE | DESCRIPTION |
RLIMIT_LOCKS (Dans les premiers Linux 2.4 seulement) | DESCRIPTION |
RLIMIT_MEMLOCK | DESCRIPTION |
RLIMIT_MSGQUEUE (Depuis Linux 2.6.8) | DESCRIPTION |
RLIMIT_NICE (depuis Linux 2.6.12, mais voir la section BOGUES plus loin) | DESCRIPTION |
RLIMIT_NOFILE | DESCRIPTION |
RLIMIT_NPROC | DESCRIPTION |
RLIMIT_RSS | DESCRIPTION |
RLIMIT_RTPRIO (depuis Linux 2.6.12, mais voir la section BOGUES) | DESCRIPTION |
RLIMIT_SIGPENDING (Depuis Linux 2.6.8) | DESCRIPTION |
RLIMIT_STACK | DESCRIPTION |