Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
getpriority, setpriority - pobranie/ustawienie priorytetu programu
podczas szeregowania zada
SK/LADNIA
#include <sys/time.h>
#include <sys/resource.h>
int getpriority(int which, int who);
int setpriority(int which, int who, int prio);
OPIS
Priorytet procesu, grupy procesow, lub uytkownika podczas szeregowania
zada, wskazywany przez which i who jest uzyskiwany za pomoc wywolania
getpriority a ustawiany za pomoc wywolania setpriority. which jest
jednym z PRIO_PROCESS, PRIO_PGRP lub PRIO_USER, a who jest
interpretowane wzgldem which (identyfikator procesu dla PRIO_PROCESS,
identyfikator grupy procesow dla PRIO_PGRP i identyfikator uytkownika
dla PRIO_USER). Zerowa warto who okrela (odpowiednio) proces wywolujcy
funkcj, jego grup procesow lub rzeczywisty identyfikator uytkownika
procesu wywolujcego funksj. prio jest wartoci z zakresu od -20 do 20
(lecz zobacz UWAGI poniej). Domylnym priorytetem jest 0; mniejsze
priorytety powoduj korzystniejsze traktowanie podczas szeregowania
zada.
Funkcja getpriority zwraca najwysz warto (najnisz warto numeryczn),
sporod posiadanych przez ktorykolwiek z podanych procesow. Funkcja
setpriority ustawia priorytety wszystkich podanych procesow na wskazan
warto. Jedynie superuytkownik moe zmniejsza priorytety.
WARTO ZWRACANA
Poniewa -1 jest legaln wartoci sporod normalnie zwracanych przez
getpriority, niezbdnym jest wyzerowanie zmiennej zewntrznej errno przed
wywolaniem tej funkcji i poniejsze sprawdzenie czy -1 oznaczalo bld,
czy normaln warto. Funkcja setpriority zwraca 0 jeli nie bylo bldow
lub -1 jeli jaki wystpil.
B/LDY
ESRCH Nie zlokalizowano adnego procesu przy uyciu podanych wartoci
which i who.
EINVAL which nie byl jednym z PRIO_PROCESS, PRIO_PGRP lub PRIO_USER.
Oprocz powyszych bldow, dla setpriority mog wystpi:
EPERM Proces zostal zlokalizowany, lecz ani jego efektywny, ani
rzeczywisty ID uytkownika nie odpowiadal efektywnemu ID
uytkownika wywolujcego.
EACCES Uytkownik nie bdcy superuytkownikiem probowal obniy priorytet
procesu.
UWAGI
Szczegolowe warunki wystpienia bldu EPERM zale od systemu. Powyej
opisano co mowi na ten temat SUSv3, z ktorym wydaj sie by zgodne
wszystkie systemy typu SYSV. Linux wymaga, aby rzeczywisty lub
efektywny ID uytkownika wywolujcego zgadzal si z rzeczywistym
uytkownikiem procesu who (zamiast z jego efektywnym ID uytkownika).
Wszystkie systemy typu BSD (SunOS 4.1.3, Ultrix 4.2, BSD 4.3, FreeBSD
4.3, OpenBSD-2.5, ...) wymagaj, aby efektywny ID uytkownika wywolujcego
zgadzal si z efektywnym ID uytkownika procesu who.
Rezczywisty zakres priorytetow jest rony dla ronych wersji jdra. Linux
wczeniejszy ni 1.3.36 mial -nieskoczono..15. Linux od 1.3.43 ma
-20..19, a funkcja systemowa getpriority zwraca 40..1 dla tych wartoci
(gdy liczby ujemne s kodami bldow). Funkcja biblioteczna przeksztalca
N na 20-N.
Wlczanie <sys/time.h> nie jest obecnie wymagane, ale zwiksza przenono.
(Rzeczywicie, <sys/resource.h> definiuje struktur rusage zawierajc pola
typu struct timeval zdefiniowanego w <sys/time.h>.)
ZGODNE Z
SVr4, 4.4BSD (funkcje te pierwotnie pojawily si w 4.2BSD).
ZOBACZ TAKE
nice(1), fork(2), renice(8)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.