diff --git a/exec/a.out b/exec/a.out deleted file mode 100755 index d0b4b41..0000000 Binary files a/exec/a.out and /dev/null differ diff --git a/exec/exec.c b/exec/exec.c index 544553b..6a6f052 100644 --- a/exec/exec.c +++ b/exec/exec.c @@ -1,3 +1,19 @@ -int execute() +#include +#include "../cmd/cmd.h" + +int execute(cmd* input, char** env) { + for(int i=0; i++;input[i]!=NULL) + { + // création d'un processus enfant du programme + cont int pid = fork(); + // pid de l'enfant est 0 + if (pid == 0) + { + // redirige la sortie standard vers un file descriptor + dup2(1, input.fd_out); + // on tue l'enfant (l'enfant devient la commande entrée par l'utilisateur) + execve(input[i].executable, input[i].args, env); + } + } }