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
       ⟨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⟩.