Provided by: manpages-nl-dev_4.15.0-9_all bug

NAAM

       getpid, getppid - verkrijg proces identiteit

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 versie 2.3.4 tot en met versie 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 de tijd.

       Vanwege de voorgenoemde problemen werd vanaf glibc versie 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)

COLOFON

       Deze  pagina  is  onderdeel  van  release  5.13  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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.