Pid /break

fethi -  
mamiemando Messages postés 33774 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

3 réponses

mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 883
 
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
fethi
 
oui je sais mais le probleme quand va eliminer break je n'arrive pas a comprender
0
mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 883
 
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