Provided by: manpages-fr-dev_4.21.0-2_all bug

NOM

       getpriority, setpriority - Lire et écrire la priorité d'ordonnancement du processus

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/resource.h>

       int getpriority(int which, id_t who);
       int setpriority(int which, id_t who, int prio);

DESCRIPTION

       La priorité d'ordonnancement du processus, du groupe de processus ou de l'utilisateur, comme précisé dans
       which  et  who  est  lue  avec l'appel getpriority() et définie avec l'appel setpriority(). L'attribut du
       processus concerné par ces appels système est le même que celui géré par nice(2) (appelé aussi la  valeur
       « de politesse »).

       La  valeur  de which doit être PRIO_PROCESS, PRIO_PGRP ou PRIO_USER, et who est interprété en fonction de
       which (un ID de processus pour PRIO_PROCESS, un ID de  groupe  de  processus  pour  PRIO_PGRP  et  un  ID
       d'utilisateur  pour PRIO_USER). Une valeur nulle pour who indique (respectivement) le processus appelant,
       le groupe de processus du processus appelant ou l'UID réel du processus appelant.

       Le paramètre prio est une valeur sur l'intervalle -20 à 19 (mais voir les NOTES ci-dessous), où  -20  est
       la  priorité la plus élevée et 19 celle la plus basse. Les valeurs pour définir une priorité en dehors de
       cet intervalle sont silencieusement ramenées dans l'intervalle.  La  priorité  par  défaut  est  0 ;  les
       valeurs les plus basses donnent au processus une priorité d'ordonnancement plus élevée.

       La  fonction getpriority() renvoie la plus haute priorité (la plus basse valeur numérique) dont bénéficie
       l'un des processus indiqué. La fonction setpriority() positionne la priorité des processus indiqués à  la
       valeur fournie.

       Traditionnellement,  seul  un processus privilégié pouvait diminuer la valeur de courtoisie (c'est-à-dire
       augmenter la priorité). Mais depuis Linux 2.6.12, un processus non privilégié peut diminuer la valeur  de
       courtoisie  d'un  processus cible ayant une limite souple RLIMIT_NICE convenable ; voir getrlimit(2) pour
       des détails.

VALEUR RENVOYÉE

       S'il réussit, setpriority() renvoie la valeur de courtoisie du thread appelant, qui peut être  un  nombre
       négatif. En cas d'erreur, il renvoie -1 et positionne errno pour indiquer l'erreur.

       Puisqu'un  appel  à  getpriority()  peut  tout  à fait renvoyer la valeur -1, il faut effacer errno avant
       l'appel afin de vérifier si -1 indique une erreur ou une priorité légitime.

       S'il réussit, setpriority() renvoie 0. En cas d'erreur, il renvoie -1 et positionne errno  pour  indiquer
       l'erreur.

ERREURS

       EACCES L'appelant  a  tenté  de  définir une valeur de politesse plus basse (c'est-à-dire une priorité de
              processus plus élevée) mais il n'a pas les droits requis (sur  Linux :  il  n'a  pas  la  capacité
              CAP_SYS_NICE).

       EINVAL which n'était ni PRIO_PROCESS, ni PRIO_PGRP, ni PRIO_USER.

       EPERM  Un  processus  correspond  bien  aux  valeurs  indiquées, mais ni l'UID réel, ni l'UID effectif de
              l'appelant ne correspondent à  l'UID  effectif  de  ce  processus,  et  (sur  les  systèmes  Linux
              l'appelant n'a pas la capacité CAP_SYS_NICE). Voir les NOTES ci‐dessous.

       ESRCH  Aucun processus ne correspond aux valeurs de which et who indiquées.

STANDARDS

       POSIX.1-2001,  POSIX.1-2008,  SVr4,  4.4BSD  (ces  interfaces  sont  apparues  pour la première fois dans
       4.2BSD).

NOTES

       Pour plus de détails sur la valeur de courtoisie, voir sched(7).

       Remarque : l'ajout de la fonctionnalité « autogroup » à Linux 2.6.38 signifie que la valeur de courtoisie
       n'a plus son effet traditionnel dans de nombreuses circonstances. Pour des détails, voir sched(7).

       Un enfant créé avec fork(2) hérite de la valeur de politesse de son parent. La valeur  de  politesse  est
       préservée au travers d'un execve(2).

       Les  détails  concernant  la  condition  d'erreur  EPERM  dépendent  du système. La description ci‐dessus
       concerne ce que dit POSIX.1-2001, et qui semble être suivi par tous les systèmes de  type  System V.  Les
       noyaux  Linux avant Linux 2.6.12 demandent que l'UID réel ou effectif de l'appelant correspondent à l'UID
       réel du processus who (et non pas à son UID effectif). Linux  2.6.12  et  suivants  demandent  que  l'UID
       effectif  de  l'appelant corresponde à l'UID réel ou effectif du processus who. Tous les systèmes de type
       BSD (SunOS 4.1.3, Ultrix 4.2, BSD 4.3, FreeBSD 4.3, OpenBSD-2.5, ...) se comportent de  la  même  manière
       que Linux 2.6.12 et les suivants.

   Différences entre bibliothèque C et noyau
       L'appel  système  getpriority  renvoie  les  valeurs  de  courtoisie  traduites  dans l'intervalle 40..1,
       puisqu'une valeur négative renvoyée serait interprétée comme une erreur.  La  fonction  enveloppe  de  la
       glibc  autour  de  getpriority()  traduit  la valeur en sens inverse, selon la formule unice = 20 - knice
       (ainsi, l'intervalle  40..1  renvoyé  par  le  noyau  correspond  à  celui  -20..19  vu  depuis  l'espace
       utilisateur).

BOGUES

       Selon la norme POSIX, la valeur de politesse est définie à l'échelle du processus. Cependant, les threads
       POSIX  sont  actuellement  implémentés  dans  Linux/NPTL de telle sorte que la valeur de politesse est un
       attribut du thread : différents threads d'un même  processus  peuvent  avoir  des  valeurs  de  politesse
       différentes.  Les  applications  portables doivent donc éviter de s'appuyer sur cette propriété de Linux,
       qui devrait, à l'avenir, être mise en conformité avec les normes.

VOIR AUSSI

       nice(1), renice(1), fork(2), capabilities(7), sched(7)

       Documentation/scheduler/sched-nice-design.txt dans les sources du noyau (depuis Linux 2.6.23)

TRADUCTION

       La  traduction  française   de   cette   page   de   manuel   a   été   créée   par   Christophe   Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal  <aportal@univ-montp2.fr>,  Jean-Philippe  Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,     Thomas     Huriaux      <thomas.huriaux@gmail.com>,      Nicolas      François
       <nicolas.francois@centraliens.net>,     Florentin     Duneau    <fduneau@gmail.com>,    Simon    Paillard
       <simon.paillard@resel.enst-bretagne.fr>,    Denis    Barbier    <barbier@debian.org>,    David     Prévot
       <david@tilapin.org>,     Cédric     Boutillier     <cedric.boutillier@gmail.com>,    Frédéric    Hantrais
       <fhantrais@gmail.com> et Jean-Philippe MENGUAL <jpmengual@debian.org>

       Cette traduction est une documentation libre ; veuillez vous  reporter  à  la  GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous  découvrez  un  bogue  dans la traduction de cette page de manuel, veuillez envoyer un message à
       debian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.03                    4 décembre 2022                                  getpriority(2)