Provided by: manpages-de-dev_2.5-1_all bug

BEZEICHNUNG

       getpid, getppid - gibt die Prozessidentifikation zurück

ÜBERSICHT

       #include <sys/types.h>
       #include <unistd.h>

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

BESCHREIBUNG

       getpid() gibt die Prozess-ID (PID) des aufrufenden Prozesses zurück. (Dies wird oft von Routinen benutzt,
       die einen eindeutigen Namen einer temporären Datei erzeugen.)

       getppid()  returns the process ID of the parent of the calling process. This will be either the ID of the
       process that created this process using fork(), or, if that process has already terminated, the ID of the
       process  to  which this process has been reparented (either init(1)  or a "subreaper" process defined via
       the prctl(2)  PR_SET_CHILD_SUBREAPER operation).

FEHLER

       Diese Funktionen sind immer erfolgreich.

KONFORM ZU

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

ANMERKUNGEN

       Falls sich der Elternprozess des aufrufenden Prozesses in einem anderen  PID-Namensraum  befindet  (siehe
       pid_namespaces(7)), gibt getppid() 0 zurück.

       Aus  der  Sicht  des  Kernels  ist  die PID (die sich alle Threads in einem Multithreaded-Prozess teilen)
       manchmal auch als Thread-Gruppen-ID (TGID) bekannt. Dies steht im  Gegensatz  zu  der  Kernel  Thread  ID
       (TID),  die  für  jeden  Thread eindeutig ist. Für weitere Details siehe gettid(2) und die Diskussion des
       Schalters CLONE_THREAD in clone(2).

   Unterschiede C-Bibliothek/Kernel
       Von Version 2.3.4 bis einschließlich Version 2.24 der Glibc  speicherte  die  Glibc-Wrapper-Funktion  für
       getpid()  PIDs  temporär,  um  zusätzliche Systemaufrufe zu vermeiden, wenn ein Prozess getpid() mehrmals
       aufruft. Normalerweise war dieses Zwischenspeichern  nicht  sichtbar,  aber  das  korrekte  Funktionieren
       beruhte  auf  der  Unterstützung  in den Wrapper-Funktionen für fork(2), vfork(2) und clone(2): Wenn eine
       Anwendung die Glibc-Wrapper für diese Systemaufrufe durch Benutzung von syscall(2) umging, dann würde ein
       Aufruf von getpid() im Kindprozess den falschen Wert zurückliefern (um es zu präzisieren: Er wird die PID
       des Elternprozesses zurückgeben). Zusätzlich gab es Fälle, bei dem getpid() den falschen Wert sogar  dann
       zurückgab,  wenn  clone(2)  über  die Glibc-Wrapper-Funktion aufgerufen wurde. (Für die Besprechung eines
       solchen Falles siehe FEHLER in clone(2).) Desweiteren war die Komplexität des Zwischenspeichercodes  über
       die Jahre eine Quelle mehrerer Fehler innerhalb der Glibc.

       Aufgrund der vorgenannten Probleme ist der PID-Zwischenspeichercode seit Version 2.25 der Glibc entfernt;
       Aufrufe  von  getpid()  lösen immer den tatsächlichen Systemaufruf aus, statt einen zwischengespeicherten
       Wert zurückzuliefern.

SIEHE AUCH

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

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  4.15  des Projekts Linux-man-pages. Eine Beschreibung des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite  wurde  von  Stefan   Janke   <gonzo@burg.studfb.unibw-
       muenchen.de>,  Chris  Leick  <c.leick@vollbio.de>,  Mario  Blättermann <mario.blaettermann@gmail.com> und
       Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der  Übersetzung  dieser  Handbuchseite  finden, schicken Sie bitte eine E-Mail an
       <debian-l10n-german@lists.debian.org>.

Linux                                           26. November 2017                                      GETPID(2)