NAZWA¶
getpriority, setpriority - pobranie/ustawienie priorytetu programu podczas
  szeregowania zadań
SKŁADNIA¶
#include <sys/time.h>
 
#include <sys/resource.h>
 
int getpriority(int which, int who);
 
int setpriority(int which, int who, int
  prio);
OPIS¶
 Uwaga! To tłumaczenie może być nieaktualne!
Priorytet procesu, grupy procesów, lub użytkownika podczas
  szeregowania zadań, wskazywany przez 
which i 
who jest
  uzyskiwany za pomocą wywołania 
getpriority a ustawiany za
  pomocą wywołania 
setpriority. 
which jest jednym z
  
PRIO_PROCESS, 
PRIO_PGRP lub 
PRIO_USER, a 
who jest
  interpretowane względem 
which (identyfikator procesu dla
  
PRIO_PROCESS, identyfikator grupy procesów dla 
PRIO_PGRP i
  identyfikator użytkownika dla 
PRIO_USER). Zerowa wartość
  
who określa (odpowiednio) proces wywołujący
  funkcję, jego grupę procesów lub rzeczywisty identyfikator
  użytkownika procesu wywołującego funksję. 
prio jest
  wartością z zakresu od -20 do 20 (lecz zobacz UWAGI poniżej).
  Domyślnym priorytetem jest 0; mniejsze priorytety powodują
  korzystniejsze traktowanie podczas szeregowania zadań.
 
Funkcja 
getpriority zwraca najwyższą wartość
  (najniższą wartość numeryczną), spośród
  posiadanych przez którykolwiek z podanych procesów. Funkcja
  
setpriority ustawia priorytety wszystkich podanych procesów na
  wskazaną wartość. Jedynie superużytkownik może
  zmniejszać priorytety.
WARTOŚĆ ZWRACANA¶
Ponieważ -1 jest legalną wartością spośród
  normalnie zwracanych przez 
getpriority, niezbędnym jest
  wyzerowanie zmiennej zewnętrznej 
errno przed wywołaniem tej
  funkcji i późniejsze sprawdzenie czy -1 oznaczało
  błąd, czy normalną wartość. Funkcja
  
setpriority zwraca 0 jeśli nie było błędów lub
  -1 jeśli jakiś wystąpił.
BŁĘDY¶
  - ESRCH
 
  - Nie zlokalizowano żadnego procesu przy użyciu
      podanych wartości which i who.
 
  - EINVAL
 
  - which nie był jednym z PRIO_PROCESS,
      PRIO_PGRP lub PRIO_USER.
 
Oprócz powyższych błędów, dla 
setpriority
  mogą wystąpić:
  - EPERM
 
  - Proces został zlokalizowany, lecz ani jego efektywny,
      ani rzeczywisty ID użytkownika nie odpowiadał efektywnemu ID
      użytkownika wywołującego.
 
  - EACCES
 
  - Użytkownik nie będący
      superużytkownikiem próbował obniżyć priorytet
      procesu.
 
UWAGI¶
Szczegółowe warunki wystąpienia błędu EPERM
  zależą od systemu. Powyżej opisano co mówi na ten temat
  SUSv3, z którym wydają sie być zgodne wszystkie systemy typu
  SYSV. Linux wymaga, aby rzeczywisty lub efektywny ID użytkownika
  wywołującego zgadzał się z rzeczywistym użytkownikiem
  procesu 
who (zamiast z jego efektywnym ID użytkownika). Wszystkie
  systemy typu BSD (SunOS 4.1.3, Ultrix 4.2, BSD 4.3, FreeBSD 4.3, OpenBSD-2.5,
  ...) wymagają, aby efektywny ID użytkownika wywołującego
  zgadzał się z efektywnym ID użytkownika procesu 
who.
Rezczywisty zakres priorytetów jest różny dla różnych
  wersji jądra. Linux wcześniejszy niż 1.3.36 miał
  -nieskończoność..15. Linux od 1.3.43 ma -20..19, a funkcja
  systemowa getpriority zwraca 40..1 dla tych wartości (gdyż liczby
  ujemne są kodami błędów). Funkcja biblioteczna
  przekształca N na 20-N.
Włączanie 
<sys/time.h> nie jest obecnie wymagane, ale
  zwiększa przenośność. (Rzeczywiście,
  
<sys/resource.h> definiuje strukturę 
rusage
  zawierającą pola typu 
struct timeval zdefiniowanego w
  
<sys/time.h>.)
ZGODNE Z¶
SVr4, 4.4BSD (funkcje te pierwotnie pojawiły się w 4.2BSD).
ZOBACZ TAKŻE¶
nice(1), 
fork(2), 
renice(8)
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
  Tłumaczenia Manuali i 
może nie być aktualne. W razie
  zauważenia różnic między powyższym opisem a
  rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
  zapoznanie się z oryginalną (angielską) wersją strony
  podręcznika za pomocą polecenia:
  
  - man --locale=C 2 getpriority
 
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
  znaleźć pod adresem
  
http://sourceforge.net/projects/manpages-pl/.