dwww Home | Manual pages | Find package

getpriority(2)                System Calls Manual               getpriority(2)

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 pro-
       cessus  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 (res-
       pectivement) 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 pro-
       cessus 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 fonc-
       tion 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'ap-
              pelant n'a pas la capacité CAP_SYS_NICE). Voir les NOTES ci-des-
              sous.

       ESRCH  Aucun  processus ne correspond aux valeurs de which et who indi-
              qué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 pa-
       rent. 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  sys-
       tè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'ap-
       pelant 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 Li-
       nux 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 in-
       terpré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 cor-
       respond à 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 attri-
       but  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 de-
       vrait, à 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 Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.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.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org>, David Prévot  <david@tilapin.org>,  Cédric  Boutillier  <ce-
       dric.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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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)

Generated by dwww version 1.15 on Sat Jun 29 01:44:28 CEST 2024.