.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1980, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" %%%LICENSE_END .\" .\" @(#)getpriority.2 6.9 (Berkeley) 3/10/91 .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1996-07-01 by Andries Brouwer .\" Modified 1996-11-06 by Eric S. Raymond .\" Modified 2001-10-21 by Michael Kerrisk .\" Corrected statement under EPERM to clarify privileges required .\" Modified 2002-06-21 by Michael Kerrisk .\" Clarified meaning of 0 value for 'who' argument .\" Modified 2004-05-27 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH GETPRIORITY 2 "15 septembre 2017" Linux "Manuel du programmeur Linux" .SH NOM getpriority, setpriority \- Lire et écrire la priorité d'ordonnancement du processus .SH SYNOPSIS \fB#include \fP .br \fB#include \fP .PP \fBint getpriority(int \fP\fIwhich\fP\fB, id_t \fP\fIwho\fP\fB);\fP .br \fBint setpriority(int \fP\fIwhich\fP\fB, id_t \fP\fIwho\fP\fB, int \fP\fIprio\fP\fB);\fP .SH DESCRIPTION La priorité d'ordonnancement du processus, du groupe de processus ou de l'utilisateur, comme précisé dans \fIwhich\fP et \fIwho\fP est lue avec l'appel \fBgetpriority\fP() et définie avec l'appel \fBsetpriority\fP(). L'attribut du processus concerné par ces appels système est le même que celui géré par \fBnice\fP(2) (appelé aussi la valeur «\ de politesse\ »). .PP La valeur de \fIwhich\fP doit être \fBPRIO_PROCESS\fP, \fBPRIO_PGRP\fP ou \fBPRIO_USER\fP, et \fIwho\fP est interprété en fonction de \fIwhich\fP (un ID de processus pour \fBPRIO_PROCESS\fP, un ID de groupe de processus pour \fBPRIO_PGRP\fP et un ID d'utilisateur pour \fBPRIO_USER\fP). Une valeur nulle pour \fIwho\fP indique (respectivement) le processus appelant, le groupe de processus du processus appelant ou l'UID réel du processus appelant. .PP Le paramètre \fIprio\fP est une valeur sur l'intervalle \fB\-20\fP à \fB19\fP (mais voir les NOTES ci\-dessous), où \fB\-20\fP est la priorité la plus élevée et \fB19\fP 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 \fB0\fP\ ; les valeurs les plus basses donnent au processus une priorité d'ordonnancement plus élevée. .PP La fonction \fBgetpriority\fP() renvoie la plus haute priorité (la plus basse valeur numérique) dont bénéficie l'un des processus indiqué. La fonction \fBsetpriority\fP() positionne la priorité des processus indiqués à la valeur fournie. .PP 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 \fBRLIMIT_NICE\fP convenable\ ; voir \fBgetrlimit\fP(2) pour des détails. .SH "VALEUR RENVOYÉE" S'il réussit, \fBsetpriority\fP() renvoie la valeur de courtoisie du thread appelant, qui peut être un nombre négatif. En cas d'erreur, il renvoie \fB\-1\fP et positionne \fIerrno\fP pour indiquer la cause de l'erreur. .PP Puisqu'un appel à \fBgetpriority\fP() peut tout à fait renvoyer la valeur \fB\-1\fP, il faut effacer la variable externe \fIerrno\fP avant l'appel afin de vérifier si \fB\-1\fP indique une erreur ou une priorité légitime. .PP S'il réussit, \fBsetpriority\fP() renvoie zéro. En cas d'erreur, il renvoie \fB\-1\fP et positionne \fIerrno\fP pour indiquer la cause de l'erreur. .SH ERREURS .TP \fBEINVAL\fP \fIwhich\fP n'était ni \fBPRIO_PROCESS\fP, ni \fBPRIO_PGRP\fP, ni \fBPRIO_USER\fP. .TP \fBESRCH\fP Aucun processus ne correspond aux valeurs de \fIwhich\fP et \fIwho\fP indiquées. .PP De plus \fBsetpriority\fP() peut échouer pour les erreurs suivantes\ : .TP \fBEACCES\fP 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é \fBCAP_SYS_NICE\fP). .TP \fBEPERM\fP 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é \fBCAP_SYS_NICE\fP). Voir les NOTES ci\(hydessous. .SH CONFORMITÉ POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.4BSD (ces interfaces sont apparues pour la première fois dans 4.2BSD). .SH NOTES Pour plus de détails sur la valeur de courtoisie, voir \fBsched\fP(7). .PP \fIRemarque\fP\ : 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 \fBsched\fP(7). .PP Un enfant créé avec \fBfork\fP(2) hérite de la valeur de politesse de son parent. La valeur de politesse est préservée au travers d'un \fBexecve\fP(2). .PP Les détails concernant la condition d'erreur \fBEPERM\fP dépendent du système. La description ci\(hydessus concerne ce que dit POSIX.1\-2001, et qui semble être suivi par tous les systèmes de type System\ V. Les noyaux Linux antérieurs à 2.6.12 demandent que l'UID réel ou effectif de l'appelant correspondent à l'UID réel du processus \fIwho\fP (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 \fIwho\fP. 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. .PP .\" L'inclusion de \fI\fP n'est plus obligatoire, mais améliore la portabilité. (En fait, \fI\fP définit la structure \fIrusage\fP qui contient des champs de type \fIstruct timeval\fP, défini dans \fI\fP.) .SS "différences entre bibliothèque C et noyau" Dans le noyau, les valeurs de politesse sont représentées dans l'intervalle [40,1] (les nombres négatifs sont des codes d'erreurs), et ce sont ces valeurs qui sont utilisées par les appels système \fBsetpriority\fP() et \fBgetpriority\fP(). Les routines de la bibliothèque glibc se chargent des conversions entre les représentations dans le noyau et dans l'espace utilisateur grâce à la formule \fIunice\ =\ 20\ \-\ knice\fP. (De cette façon, l'intervalle [40,1] du noyau correspond à l'intervalle [\-20,19] dans l'espace utilisateur). .SH 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. .SH "VOIR AUSSI" \fBnice\fP(1), \fBrenice\fP(1), \fBfork\fP(2), \fBcapabilities\fP(7), \fBsched\fP(7) .PP \fIDocumentation/scheduler/sched\-nice\-design.txt\fP dans les sources du noyau (depuis Linux\ 2.6.23) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot , Cédric Boutillier , Frédéric Hantrais et Jean-Philippe MENGUAL . Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE 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 à .MT debian-l10n-french@lists.debian.org .ME .