Scroll to navigation

GETPID(2) Linux-Programmierhandbuch GETPID(2)

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 des aufrufenden Prozesses zurück. (Dies wird oft von Routinen benutzt, die einen eindeutigen Namen einer temporären Datei erzeugen.)

getppid() gibt die Prozess-ID des Elternprozesses des aufrufenden Prozesses zurück.

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.

Unterschiede C-Bibliothek/Kernel

Seit Version 2.3.4 von Glibc speichert die Glibc-Wrapper-Funktion für getpid() PIDs temporär, um zusätzliche Systemaufrufe zu vermeiden, wenn ein Prozess getpid() mehrmals aufruft. Normalerweise ist dieses Zwischenspeichern nicht sichtbar, aber das korrekte Funktionieren beruht 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) umgeht, dann wird ein Aufruf von getpid() im Kindprozess den falschen Wert zurückliefern (um es zu präzisieren: Er wird die PID des Elternprozesses zurückgeben). Die Handbuchseite von clone(2) diskutiert einen Fall, bei dem getpid() den falschen Wert sogar dann zurückgibt, wenn clone(2) über die Glibc-Wrapper-Funktion aufgerufen wird.

SIEHE AUCH

clone(2), fork(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.09 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> und Mario Blättermann <mario.blaettermann@gmail.com> 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>.

23. Juli 2015 Linux