Programme unix

Résolu
ahlem -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    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
    1. ahlem
       
      merci bien
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    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