Bonjour,
je voudraissavoir comment creer un process pere et deux process fils avec fork()
je vous en remercie d'avance ;)
Version imprimable
Bonjour,
je voudraissavoir comment creer un process pere et deux process fils avec fork()
je vous en remercie d'avance ;)
Code:
1
2
3
4
5
6
7
8
9
10
11 #include<stdio.h> #include<stdlib.h> int main () { int i; for(i=0;i<2;i++) fork(); printf("Je suis %d", getpid()); return 0 ; }
Merci bien tu menleve une aiguille du pied :p
Je t'en prie n'hésite pas à poser des questions surtout à ton professeur... :lol:Citation:
Envoyé par pradinois
Sauf que là, il y aura 3 processus fils, non?
Le premier fils va forker...
Oui il faut tester le PID pour savoir si on est sur le père ou sur le fils.
De mémoire, il me semble que fork renvoie 0 au fils et renvoie le PID du fils au père.
En gros :
Code:
1
2
3
4
5
6
7 pid = fork() if (pid != 0) printf("Je suis le père"); else printf("Je suis le fils");
Valeurs de retour du fork
n > 0 On est dans le processus père
n = 0 On est dans le processus fils
n = -1 fork a échoué, on n'a pas pu créer de processus
Et une url pratique : http://www.infres.enst.fr/~domas/BCI/Proc/TPproc.html#RTFToC4
Sinon tu as la norme POSIX qui très approprié pour créer des threads (pthread) mais tout dépend de l'utilisation que tu veux en faire.