Qui pourrais m'expliquer ces programmes ?

Fermé
napzizi - Modifié par Whismeril le 8/06/2015 à 07:53
chris79 Messages postés 97 Date d'inscription lundi 3 octobre 2005 Statut Membre Dernière intervention 1 février 2016 - 8 juin 2015 à 22:24
Bonjour,
#include<stdio.h>
#include<sys/types.h>
#include<errno.h>
#include<unistd.h>
#include<sys/wait.h>
#include<stdlib.h>
int i=2;
int main()
{
int j=10;
pid_t p;
while ((i>=0) && (p=fork()))
{i--;
if(p<0)
 exit(1);}
j+=2; 
if (p==0)
 {i*=3;
 j*=3;
printf ("le flis i=%d , j=%d ",i,j);
printf("\n");
  }
 else {
  i*=2;
  j*=2;
printf ("le pere i=%d , j=%d ",i,j);
printf("\n");
  }
printf("\n");
 return 0 ;
 }

#include<stdio.h>
#include<sys/types.h>
#include<errno.h>
#include<unistd.h>
#include<sys/wait.h>
#include<stdlib.h>
 int global;
 int main(){
  pid_t child_pid;
  int local=0;
  child_pid=fork();
  if (child_pid>=0){
   if (child_pid==0){   
   printf("chield process:\n");
   local++;
   global++;
   printf("childpid :%d ,parent pid=%d\n",getpid              (),getppid());
   printf("child local %d ,child global : %d\n" ,local , global);
   system("who I am");
    }
  else {
   printf("parent process\n");
   printf(" parent pid ;%d , child pid : %d\n" , getpid(), child_pid);
   wait(0) ; 
   printf(" end child");
   printf("parent's local:%d, parent's global : %d\n", local,global); 
   exit(0);
   }
  }
  
  else
  {perror("fork"); exit(0);}
 return 0;

#include <stdio.h>
#include<unistd.h>



int main(){
 pid_t pid;
 quisuisje="le pere";
 pid=fork();
 if(pid==0){
  quisuisje="le fils";
  printf("je suis le %s",quisuisje);
  }
  else{
   printf("je suis %s",quisuisje);
   wait(NULL);
  }
 return 0;
}

#include<stdio.h>
#include<unistd.h>
int main()
{
pid_t idfils;
int i;

for(i=0;i<3;i++){
idfils=fork();
if(idfils==0){
printf("je suis le fils mon ID: %d et le ID de mon pere est: %d \n",getpid(),getppid());
_exit(0);
}
else {
printf("je suis le pere mon ID est: %d \n",getpid());
}

}
return 0;
}



EDIT: Précision du langage dans la coloration syntaxique.

1 réponse

chris79 Messages postés 97 Date d'inscription lundi 3 octobre 2005 Statut Membre Dernière intervention 1 février 2016 25
8 juin 2015 à 22:24
Salut,

Il faudrait que tu expliques ce que tu ne comprends pas dans ces programmes exactement ;)
A première vue, ces programmes créent des processus fils.
Je t'invite au préalable à te renseigner sur la fonction fork() comme point de départ ;)
0