Programme unix
Résolu
Bonjour,
je veux savoir le resulta qui donne ce programme
#include <stdio.h>
main()
{int pid ,status;
if(fork()==0){printf("processsus fils %d\n",getpid())
exit(1 0);}
pid wait(&status);
printf("processus père %d\n",getbid());
printf("sortie du wait\n");
sleep(15);
printf("pid=%d\n",pid,status);
exit(0)}
je veux savoir le resulta qui donne ce programme
#include <stdio.h>
main()
{int pid ,status;
if(fork()==0){printf("processsus fils %d\n",getpid())
exit(1 0);}
pid wait(&status);
printf("processus père %d\n",getbid());
printf("sortie du wait\n");
sleep(15);
printf("pid=%d\n",pid,status);
exit(0)}
2 réponses
-
ModérateurVoici ton programme une fois que j'ai corrigé comme j'ai pu (je ne sais pas si c'était ce que tu voulais faire) :
#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #include <sys/wait.h> int main() { int pid, status; if (fork() == 0) { printf("processsus fils %d\n", getpid()); exit(EXIT_SUCCESS); } pid = wait(&status); printf("processus père %d\n", getpid()); printf("sortie du wait\n"); sleep(15); printf("pid = %d status = %d\n", pid, status); exit(EXIT_SUCCESS); }
... ce qui donne :
(mando@aldur) (~) $ gcc -W -Wall plop.c (mando@aldur) (~) $ ./a.out processsus fils 4492 processus père 4491 sortie du wait pid = 4492 status = 0
Je t'invite à regarder les pages de man si tu te demandes à quoi servent les fonctions fork, wait etc... Si tu es sous linux il suffit par exemple de taper dans un terminal "man fork", sinon tu peux directement taper ça dans google...
Bonne chance -