next up previous contents
Next: Terminaison d'un fils Up: Programmation des processus Previous: Identificateurs d'un processus   Contents

Création d'un processus fils

La création d'un processus s'effectue par l'intermédiaire de la fonction :


   pid_t fork(void);

Qui crée un processus dont le PID est renvoyé (-1 si le fork échoue). Un exemple est donné ci-dessous :

[linewidth=1pt,fillstyle=solid,shadow=true](0,0)(16,-10.75)


   /* Utilisation de la commande FORK */

   #include <stdio.h>
   #include <stdlib.h>

   /* Programme principal */

   void main(int   argc, char *argv[])
   {
     int   pidfils;

     if (pidfils=fork())
       {
         printf("Je suis %d et je suis le papa de %d\n",getpid(),pidfils);
         sleep(10);
       }
     else
       {
         printf("Je suis %d et mon papa est %d\n",getpid(),getppid());
         sleep(10);
       }
   }

A la fin de ce code, le père et le fils ne se distinguent que par leur PID, ce qui permet de sauter dans l'une ou l'autre partie de l'alternative.



Arnaud Revel
2001-11-26