Précédent Remonter Suivant

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

Précédent Remonter Suivant