#1 Le 27/05/2007, à 15:47
- Damiens
execl (demande de vérification d'un petit code de débutant)
pid = fork();
switch (pid){
case -1 :
printf("fork a engendre une erreur.");
perror("fork :");
break;
case 0 :
//On est dans l'enfant donc exec pour remplacer l'enfant par le code du fils
if (execl("./fils",NULL) == -1){
perror("exec :");
}
break;
default :
//On est dans le parent. Le pid du fils est passe en argument a creationPartieAck
creationPartieAck(pid);
break;
}
Tout compile parfaitement mais je ne suis pas sur d'avoir bien compris la man exec
Si vous pouviez me dire si c'est correct, ce serait sympa !
#2 Le 27/05/2007, à 15:49
- Damiens
Re : execl (demande de vérification d'un petit code de débutant)
Desole pour l'indentation, le copier-coller n'a pas tres bien fonctionne ...
#3 Le 27/05/2007, à 17:11
- $Gaël$
Re : execl (demande de vérification d'un petit code de débutant)
Voici un lien sur le cours d'un de mes profs cette année, c'est très bien expliqué et il y a un exemple avec le cas qui t'intéresse
:http://www-ic2.univ-lemans.fr/~jacob/En … cessus.pdf
Bon courage
Ubuntu is an ancient african word meaning : "I can't configure Debian".
Hors ligne
#4 Le 27/05/2007, à 17:36
- Damiens
Re : execl (demande de vérification d'un petit code de débutant)
merci beaucoup ! c'est exactement ce que je cherchais
#5 Le 28/05/2007, à 16:35
- Damiens
Re : execl (demande de vérification d'un petit code de débutant)
Si j'ai bien compris, on passe un tableau au deuxième argument dont le premier champ est le nom de la commande (ou du processus que l'on veut executer), le reste du tableau sont les parametres que l'on veut passer a cette commande pour indiquer qu'il n'y a plus de parametre, un champ du tableau doit etre place a NULL.
Bon, si c ca, il faudra que je corrige cela dans mon code (je n'ai pas mis le nom du fichier que je veux executer).
#6 Le 28/05/2007, à 16:40
- damiens
Re : execl (demande de vérification d'un petit code de débutant)
je viens de relire et je me suis rendu compte que ce que je viens de dire c'est pour execv mais je connais le nombre d'arguments et il n'y en aura pas donc je pense que mon code est bon ...