Provided by: manpages-nl-dev_4.13-4_all bug

NAAM

       getpriority, setpriority - krijg/zet programma in-rooster prioriteit

SAMENVATTING

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

       int getpriority(int welk, id_t wie);
       int setpriority(int welk, id_t wie, int prio);

BESCHRIJVING

       De  in-rooster  prioriteit  van  het  proces,  proces groep of gebruiker aangeduid door welk en wie wordt
       verkregen met de getpriority aanroep en wordt gezet met de setpriority aanroep.

       Welk is één van PRIO_PROCESS, PRIO_PGRP of PRIO_USER en who wordt geïnterpreteerd  afhankelijk  van  welk
       (een  proces  identificeerder  voor  PRIO_PROCESS,  proces  groep  identificeerder voor PRIO_PGRP, en een
       gebruiker ID voor PRIO_USER). Een nul waarde van wie duidt het huidige proces, proces groep of  gebruiker
       aan.

       Het  prio  argument  is  een  waarde  in het interval van -20 tot 19 (zie OPMERKINGEN hieronder), met -20
       zijnde de hoogste prioriteit en 19 de laagste prioriteit. Pogingen om een prioriteit buiten het  interval
       in te stellen worden stilzwijgend beperkt tot het interval. De standaard prioriteit is 0;  lagere waarden
       geven een proces een hogere inroostering prioriteit.

       De getpriority() aanroep geeft de hoogste prioriteit (laagste genummerde waarde) die één van de opgegeven
       processen  geniet.  De  setpriority  aanroep  zet  de  prioriteiten  van alle opgegeven processen naar de
       opgegeven waarde.

       Traditioneel kon alleen een geprivilegieerd proces de  prioriteit  waarde  verlagen  (m.a.w.  een  hogere
       prioriteit  instellen).  Echter vanaf Linux 2.6.12 kan een niet-geprivilegieerd  proces de prioriteit van
       een doel proces verlagen als dat een bruikbare RLIMIT_NICE zachte limiet  heeft;  zie  getrlimit(2)  voor
       details.

EIND WAARDE

       Bij succes geeft setpriority de prioriteit van de aanroepende thread terug, en dat kan een negatief getal
       zijn. Bij een fout geeft het -1 terug en zet errno op de fout aan te geven.

       Omdat  een  succesvolle  aanroep  van getpriority() legitiem de waarde -1 kan teruggeven, is het nodig om
       errno te wissen vóór de aanroep, vervolgens nadien errno te controleren en bepalen of -1 een fout  is  of
       een legitieme waarde.

       setpriority  geeft  0  terug  bij succes.  Bij een fout geeft het -1 terug en zet errno om de fout aan te
       geven.

FOUTEN

       EINVAL which was niet een van PRIO_PROCESS, PRIO_PGRP of PRIO_USER.

       ESRCH  Geen proces gevonden dat de welk en who opgegeven waardes gebruikt.

       In aanvulling op de bovenstaande fouten hierboven zal setpriority() falen als:

       EACCES De aanroeper probeerde een lagere prioriteit in te stellen (m.a.w. een hogere proces  prioriteit),
              maar had niet het vereiste privilege (op Linux: had niet de CAP_SYS_NICE capaciteit).

       EPERM  Een  proces  werd  gevonden,  maar nog zijn effectieve gebruiker ID kwam niet overeen met ofwel de
              effectieve of echte gebruiker ID van de aanroeper, en was niet gerechtigd (op Linux: had  niet  de
              CAP_SYS_NICE capaciteit). Maar zie OPMERKINGEN hieronder.

VOLDOET AAN

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (deze functie aanroepen verschenen voor het eerst in 4.2BSD).

OPMERKINGEN

       Voor verdere  details over de prioriteit waarde, zie sched(7).

       Opmerkinge:  de  toevoeging van het "autogroup" kenmerk in Linux 2.6.38 betekent dat de prioriteit waarde
       niet langer zijn traditioneel effect in veel omstandigheden heeft. Voor details, zie sched(7).

       Een kind aangemaakt door fork(2) erft de prioriteit van zijn  ouder.   De  prioriteit  wordt  doorgegeven
       langs execve(2).

       De  details van de conditie voor EPERM zijn afhankelijk van het systeem. Bovenstaande beschrijving is wat
       POSIX.1-2001 zegt en lijkt gevolgd te worden op alle System V-achtige systemen. Linux kernels voor 2.6.12
       vereisten dat het echte of effectieve gebruiker ID van de aanroeper overeen kwamen met de echte gebruiker
       van het proces wie (in plaats van het effectieve gebruiker ID). Linux 2.6.12 en later  vereiste  dat  het
       effectieve  gebruiker  ID  van de aanroeper overeen kwam met het echte of effectieve gebruiker ID van het
       proces wie.  Alle BSD-achtige systemen (SunOS 4.1.3, Ultrix 4.2, 4.3BSD,  FreeBSD  4.3,  OpenBSD-2.5,...)
       gedragen zich op dezelfde manier als Linux 2.6.12 en later.

       Het  aanroepen van <sys/time.h> is tegenwoordig niet nodig, maar verhoogd overdraagbaarheid.  (Inderdaad,
       <sys/resource.h> gedefinieerd de rusage structure met velden van het type struct timeval gedefinieerd  in
       <sys/time.h>.)

   C library/kernel verschillen
       In  de  kernel worden de prioriteit waarden gerepresenteerd gebruik makend van het interval 40...1 (omdat
       negatieve waarden fout  codes  zijn)  en  dit  zijn  de  waarden  gebruikt  door  de   setpriority()   en
       getpriority()  systeem  aanroepen.  De  glibc  omwikkel  functies voor deze systeem aanroepen handelen de
       vertaling tussen de gebruiker-omgeving en kernel representaties van de prioriteit waarde  af  volgens  de
       formule unice = 20 - knice. (Daarom komt het kernel 40...1 interval overeen met het bereik -20...19 zoals
       gezien door de gebruiker.)

BUGS

       Volgens  POSIX,  is  de  prioriteit  waarde een per-proces instelling. Echter onder de huidige Linux/NPTL
       implementatie van de POSIX threads, is de  prioriteit  waarde  een  per-thread  attribute:  verschillende
       threads  in  hetzelfde  proces kunnen verschillende prioriteiten hebben. Overdraagbare applicaties moeten
       vermijden te vertrouwen op  Linux  gedrag,  omdat  dit  in  de  toekomst  aangepast  kan  worden  aan  de
       standaarden.

ZIE OOK

       nice(1), renice(1), fork(2), capabilities(7), sched(7)

       Documentation/scheduler/sched-nice-design.txt in de Linux kernel bron code  (vanaf Linux 2.6.23)

COLOFON

       Deze  pagina  is  onderdeel  van  release  5.10 van het Linux man-pages-project. Een beschrijving van het
       project,  informatie  over  het  melden  van  bugs  en  de  nieuwste  versie  van  deze  pagina  zijn  op
       https://www.kernel.org/doc/man-pages/ te vinden.

VERTALING

       De  Nederlandse  vertaling  van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario
       Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

       Deze vertaling is vrije documentatie; lees  de  GNU General Public License Version 3  of  later  over  de
       Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

       Indien  U  fouten  in  de  vertaling  van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-
       dutch@lists.debian.org.

Linux                                           15 september 2017                                 GETPRIORITY(2)