Re: Trans.: Re: Compatibili té

Page principale

Répondre à ce message
Auteur: Edgar Bonet
Date:  
À: Liste Guilde
Anciens-sujets: Trans.: Re: Compatibilité
Nouveaux-sujets: Re: Trans.: Re: Compatibilité
Sujet: Re: Trans.: Re: Compatibili té
Le jeudi 22 janvier, laurent.dieudonne@??? a écrit :
> Exemple (en C, car je ne sais plus en Fortran!):    
>      system("mkdir /ou/vous/voulez");   
>      system("cd /ou/vous/voulez");  // chdir()   
>      system("rmdir /ou/vous/voulez");   


Mauvais exemple. Le code suivant :

    system("pwd");
    system("cd /; pwd");
    system("cd /"); system("pwd");


affiche à l'exécution :

    /home/edgar
    /
    /home/edgar


La raison est que system() fork()e un processus shell pour exécuter la
commande. Le changement de répertoire n'est effectif que dans ce
processus, il n'affecte pas le père.

Edgar.

-- 
Edgar Bonet           Maison : 04 76 21 29 16    Bureau : 04 76 88 10 96
3 rue Jean Prévost    Mobile : 06 77 19 79 39    Fax    : 04 76 88 11 91
38000 Grenoble        guilde@???     www.edgar-bonet.org