GETPRIORITY(2)

NOM
getpriority, setpriority - Lire / ecrire la priorite d'ordonnancement du processus.

SYNOPSIS
#include <sys/time.h>
#include <sys/resource.h>

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

DESCRIPTION
La priorite d'ordonnancement du processus, du groupe de processus ou de l'utilisateur, comme precise dans which et who est lue avec getpriority et fixee avec setpriority. Which doit etre l'un des elements PRIO_PROCESS, PRIO_PGRP, ou PRIO_USER, et who est interprete 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 le processus, groupe ou utilisateur courant. Prio est une valeur dans l'intervalle -20 a 20. La priorite par defaut est 0, les priorites les plus faibles indiquant un ordonnancement le plus favorable. La fonction getpriority retourne la plus haute priorite (la plus basse valeur numerique) dont a beneficie le processus. La fontion setpriority fixe la priorite des processus indiques a la valeur fournie. Seul le Super-User peut diminuer la valeur numerique de la priorite (favoriser le processus).

VALEUR RENVOYEE
Comme getpriority peut tout a fait renvoyer la valeur -1, il faut effacer la variable externe errno avant l'appel afin de verifier si une valeur -1 indique une erreur ou une priorite legitime. setpriority renvoie 0 s'il reussit, ou -1 s'il echoue, auquel cas errno contient le code d'erreur.

ERREURS

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

EINVAL
    Which n'etait ni PRIO_PROCESS, ni PRIO_PGRP, ni PRIO_USER.

De plus setpriority echouera pour les erreurs suivantes :

EPERM
    Un processus correspond bien aux valeurs indiquees, mais ni son UID reel, ni son UID effectif ne correspondent a ceux de l'appelant.

EACCES
    Tentative de favoriser un processus sans etre Super-User.

CONFORMITEE
SVCr4, BSD 4.4 (Cette fonction est apparue dans BSD 4.2).

VOIR AUSSI
nice(1), fork(2), renice(8)