5 Identité d'un processus
Un processus est identifié par son pid. Il peut connaître le
pid de son père.
Les deux primitives
#include <sys/types.h>
#include <unistd.h>
pid_t getpid(void);
pid_t getppid(void);
retournent respectivement le pid du processus et de son père.
Exemple
% cat pid.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int
main (void)
{
pid_t pid_fils ;
switch (pid_fils = fork ()) {
case -1 :
perror ("Fork ") ;
exit (1) ;
case 0 : /* le fils */
printf ("Je suis le fils, PID %d, PPID %d\n",
getpid (), getppid ()) ;
exit (0) ;
default : /* le pere */
printf ("Je suis le pere, PID %d. Mon fils a le pid %d\n",
getpid (), pid_fils);
(void) wait (NULL) ;
exit (0) ;
}
}
% ./pid
Je suis le pere, PID 8078. Mon fils a le pid 8079
Je suis le fils, PID 8079, PPID 8078