Comment recréer & en C dans son propre shell? Comment la variable e du code suivant permet-elle le background?
Bonsoir!
Je suis en train de construire mon propre shell unix mais j'ai quelques soucis avec les délimiteurs
On a une fonction parsing imposée qui lit une commande donnée et qui retourne différents chiffres en fonction du cas à traiter.
Notre cas a traiter est le cas 2
Un ami m'a montré sa démarche:vu nul
part dans son code ou est-ce qu'il affectait la valeur e, s'agit-il d'une valeur protégé?
Cependant je n'ai
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| case 2: // &
com[i++]=0;
pid=fork();
/*
Mettre un if pour que le pere observe le fils
le exec sera dans le fils
*/
if(pid>0){
if (e==0) {
int val_wait = wait(&status);
} else {
/*
A la fin de l execution normale du fils, on retourne vers le processsus pere
le return 0 permet d'afficher le prompt Dauphine> conformement au switch du main.c
*/
i=0;
return 1;
}
} else {
return 7;
}
break; |