| 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_msgsize
où
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 |