Provided by: manpages-nl-dev_4.21.0-2_all bug

NAAM

       getpid, getppid - verkrijg proces identiteit

BIBLIOTHEEK

       Standard C bibliotheek  (libc, -lc)

SAMENVATTING

       #include <unistd.h>

       pid_t getpid(void);
       pid_t getppid(void);

BESCHRIJVING

       getpid()  geeft  het  proces  ID terug van het huidige proces. (Dit wordt vaak gebruikt door routines die
       unieke tijdelijke bestandsnamen maken.)

       getppid geeft het proces ID van de ouder van het aanroepende proces terug. Dat zal ofwel het ID  van  het
       proces  zijn  dat het proces aanmaakte door fork(2), of, als dat proces al werd beëindigt, het ID van het
       proces aan welk ouder-proces het werd   vastgemaakt  (ofwel  init(1)  of  een  "subreaper"  proces  zoals
       gedefinieerd via de prctl(2) PR_SET_CHILD_SUBREAPER  operatie).

FOUTEN

       Deze functies slagen altijd.

VOLDOET AAN

       POSIX.1-2001, POSIX.1-2008, 4.3BSD, SVr4.

OPMERKINGEN

       Als  de  ouder  van  de  aanroeper  in  een  andere PID naamgebied zit (zie pid_namespaces(7)), dan geeft
       getppid() 0  terug.

       Vanuit kernel perspectief is de PID (die wordt gedeeld door alle threads in  een  multi-threaded  proces)
       ook bekend als een thread groep ID (TGID). Dit in tegenstelling tot de kernel thread ID (TID), die unique
       is  voor  elke  thread.  Voor  meer  details,  zie gettid(2) en de discussie over de CLONE_THREAD vlag in
       clone(2).

   C library/kernel verschillen
       Vanaf glibc 2.3.4 tot en met glibc 2.24, cachte de glibc omwikkel functie voor getpid()  PID´s,  met  als
       doel  het  voorkomen  van  additionele  systeem  aanroepen  wanneer een proces getpid() herhaaldelijk zou
       aanroepen. Normaliter was het caching onzichtbaar maar de correctie werking vertrouwde  op  ondersteuning
       in  de  omwikkel  functies  voor   fork(2), vfork(2), en clone(2): zodra een applicatie de glibc omwikkel
       functie omzeilde door aanroep van syscall(2) dan zou de aanroep van getpid() in  het  kind  de  verkeerde
       waarde  teruggegeven  hebben  (om  precies  te  zijn:  die  zou de PID van het ouder proces terug geven).
       Additioneel, waren er gevallen waar getpid() de verkeerde waarde kon terug geven zelfs bij het  aanroepen
       van  clone(2)  via  de glibc omwikkel functie. (Zie BUGS in clone(2) voor een discussie over zo´n geval).
       Verder is de complexiteit van de caching code een  bron  van  enkele  bugs  in  glibc  geweest  gedurende
       meerdere jaren.

       Vanwege  de  voorgenoemde problemen werd vanaf glibc 2.25 de PID cache verwijderd: aanroepen van getpid()
       roepen ook de daadwerkelijke systeem aanroep aan, in plaats van het teruggeven van een gecachte waarde.

       Op Alpha wordt voorzien in een enkele getxpid() systeem aanroep, die het paar  PID  en  ouder  PID  terug
       geeft,   in  plaats  van  een  paar  van  geitpid()  en getppid() systeem aanroepen. De glibc getpid() en
       getppid() omwikkel functies handelen dit transparant af.  Zie  syscall(2)  voor  details  betreffende  de
       register indeling.

ZIE OOK

       clone(2),   fork(2),   gettid(2),   kill(2),  exec(3),  mkstemp(3),  tempnam(3),  tmpfile(3),  tmpnam(3),
       credentials(7), pid_namespaces(7)

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 man-pagina's 6.03                          22 januari 2023                                       getpid(2)