السلام عليكم
اريد علاقة بين exit and wait
بحيث يقوم processus pere بعرض 20 رقم
ثم processus fils بعرض 20 رقم التالية
ويعدها يكمل pere الاعداد المتبقية في الملف
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/wait.h>
int main(void){
int i,j ;
printf("Je suis le processus %d\n",getpid()) ;
printf("Je vais afficher 20 premiers nombres Pere \n");
FILE *po = fopen("nombre","r") ;
if (po==NULL){
perror("Impossible ") ;
return -1 ;
}
for(j=0;j<20;j++){
fscanf(po,"%d",&i) ;
printf("%d\n",i) ;
}
printf("La Creation du fils \n") ;
switch(fork()){
case -1:perror("impossible de creer un fils") ;
exit(-1) ;
case 0:
printf("Je suis le processus fils %d\n",getpid()) ;
printf("Je vais afficher 20 nombres premiers fils \n");
for(j=0;j<20;j++){
printf("Je suis le processus%d ",getpid());
fscanf(po,"%d",&i) ;
printf("%d\n",i);
}
fclose(po) ;
printf("Le fils mort \n") ;
exit(0);
default:
printf("Le pere termine la lecture\n") ;
while(!feof(po)){
printf("Je suis le processus%d ",getpid());
fscanf(po,"%d",&i) ;
printf("%d\n",i) ;
}
fclose(po) ;
}
return 0;
}