Programme unix

Résolu/Fermé
ahlem - 2 mai 2012 à 02:04
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 4 mai 2012 à 00:07
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)}

2 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
3 mai 2012 à 01:16
Il donne qu'il ne compile pas car il est plein de fautes :-) Je pense que le mieux serait d'installer linux (par exemple dans un logiciel comme virtualbox si tu veux rester sous windows) et que tu corriges ton programme.

Bonne chance
0
merci bien
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
4 mai 2012 à 00:07
Voici 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
0