getpid(2)

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
From glibc 2.3.4 up to and including Linux 2.24, the glibc wrapper function for getpid() cached PIDs, with the goal of avoiding additional system calls when a process calls getpid() repeatedly. Normally this caching was invisible, but its correct operation relied on support in the wrapper functions for fork(2), vfork(2), and clone(2): if an application bypassed the glibc wrappers for these system calls by using syscall(2), then a call to getpid() in the child would return the wrong value (to be precise: it would return the PID of the parent process). In addition, there were cases where getpid() could return the wrong value even when invoking clone(2) via the glibc wrapper function. (For a discussion of one such case, see BUGS in clone(2).) Furthermore, the complexity of the caching code had been the source of a few bugs within glibc over the years.

Because of the aforementioned problems, since glibc 2.25, the PID cache is removed: calls to getpid() always invoke the actual system call, rather than returning a cached value.

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.