Pid /break

fethi -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
1-for(i=0;i<4;i++)
2-{pid =fork();
3-if pid>0
4-break;
5-printf("hello processu %d de pere %d \n",getpid(),getppid());}
que devient cette arborescence si on élimine les deux lignes 3 et 4??
je execute ce code et je fait l'elimination des ses deux ligne mais :-(
je pas compris

Et merci
Configuration: Windows XP Internet Explorer 7.0

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Il suffit de lire la documentation :

    man fork


    (dans une console ou dans google) :

    FORK(2)                                     Manuel du programmeur Linux 
    
    NOM
           fork - Créer un processus fils
    
    SYNOPSIS
           #include <unistd.h>
    
           pid_t fork(void);
    
    ...
    
    VALEUR RENVOYÉE
           En cas de succès, le PID du fils est renvoyé au parent, et  0  est
           renvoyé  au  fils.  En cas d'échec -1 est renvoyé au parent, aucun
           processus fils n'est créé, et errno contient le code d'erreur.


    Donc le if permet ici de vérifier que le processus fils a été créé. Ainsi ce test permet de différencier le code selon qu'on est dans le processus fils ou dans le processus parent.

    Bonne chance
    0
  2. fethi
     
    oui je sais mais le probleme quand va eliminer break je n'arrive pas a comprender
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Désolée mais je n'ai pas compris ce que tu as dit. Fais un effort sinon je vais être obligée de modérer :s

    Bonne chance
    0