Provided by: manpages-nl-dev_4.27.0-1_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.

VERSIES

       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.

VOLDOET AAN

       POSIX.1-2008.

GESCHIEDENIS

       POSIX.1-2001, 4.3BSD, SVr4.

   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.

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).

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.9.1                           2 mei 2024                                          getpid(2)