On ma donner ce petit programme, mais jene vois pas ce qu'il fait, on pourrait m'expliquer svp ,??
void main(void) { int i;char txt[40]; write(STDOUT_FILENO,"programme debut<n",16); for (i=1;i<3;i++) { if((fork())==0) { sprintf(txt," " ); sprintf(txt,"\nprocessus fils n %d, %d",i,getpid()); write(1,txt,40); } else { sprintf(txt," " ); sprintf(txt,"\nprocessus pere i= %d, %d",i,getpid()); write(1,txt,40); } } sprintf(txt," " ); sprintf(txt,"fin du processus %d",getpid()); write(1,txt,40); }
resultat ******** programme debut< processus fils n 1, 22352 processus fils n 2, 22610 fin du processus 22610 processus pere i= 2, 22352 fin du processus 22352 processus pere i= 1, 21838 processus fils n 2, 22612 fin du processus 22612 processus pere i= 2, 21838 fin du processus 21838
Marsh Posté le 09-09-2003 à 11:59:58
On ma donner ce petit programme, mais jene vois pas ce qu'il fait, on pourrait m'expliquer svp ,??
void main(void)
{
int i;char txt[40];
write(STDOUT_FILENO,"programme debut<n",16);
for (i=1;i<3;i++)
{
if((fork())==0)
{
sprintf(txt," " );
sprintf(txt,"\nprocessus fils n %d, %d",i,getpid());
write(1,txt,40);
}
else
{
sprintf(txt," " );
sprintf(txt,"\nprocessus pere i= %d, %d",i,getpid());
write(1,txt,40);
}
}
sprintf(txt," " );
sprintf(txt,"fin du processus %d",getpid());
write(1,txt,40);
}
resultat
********
programme debut<
processus fils n 1, 22352
processus fils n 2, 22610 fin du processus 22610
processus pere i= 2, 22352 fin du processus 22352
processus pere i= 1, 21838
processus fils n 2, 22612 fin du processus 22612
processus pere i= 2, 21838 fin du processus 21838