1. NOM

getpid, getppid - Obtenir l'identifiant d'un processus

2. SYNOPSIS

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

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

3. DESCRIPTION

getpid() renvoie l'identifiant du processus appelant. Ceci est souvent utilisé par des routines qui créent des fichiers temporaires uniques. getppid() renvoie le PID du processus père de l'appelant.

4. ERREURS

Ces fonctions réussissent toujours.

5. CONFORMITÉ

POSIX.1-2001, BSD 4.3, SVr4.

6. NOTES

Depuis la glibc version 2.3.4, la fonction enveloppe de la glibc pour getpid() faisait un cache des PID, de façon à éviter des appels système supplémentaires quand un processus appelle getpid() de façon répétée. Normalement, ce cache n'est pas visible, mais son fonctionnement correct repose sur la gestion du cache dans les fonctions enveloppes pour fork(2), vfork(2) et clone(2) : si une application se passe des enveloppes de la glibc pour ces appels système en appelant syscall(2), alors un appel à getpid() dans le fils renverra la mauvaise valeur (pour être précis : il renverra le PID du processus père). Consultez également clone(2) pour une discussion sur un cas ou getpid() peut renvoyer une mauvaise valeur quand clone(2) est appelé via la fonction enveloppe de la glibc.

7. VOIR AUSSI

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

8. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

9. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à < >.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».