(fix): fonctionne
This commit is contained in:
parent
c197bbbdb4
commit
727e94e639
13
exec/exec.c
13
exec/exec.c
@ -1,19 +1,22 @@
|
|||||||
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "../cmd/cmd.h"
|
#include "../cmd/cmd.h"
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
int execute(cmd* input, char** env)
|
|
||||||
|
int execute(cmd** input, char** env)
|
||||||
{
|
{
|
||||||
for(int i=0; i++;input[i]!=NULL)
|
for(int i=0; input[i]!=NULL; i++)
|
||||||
{
|
{
|
||||||
// création d'un processus enfant du programme
|
// création d'un processus enfant du programme
|
||||||
cont int pid = fork();
|
const int pid = fork();
|
||||||
// pid de l'enfant est 0
|
// pid de l'enfant est 0
|
||||||
if (pid == 0)
|
if (pid == 0)
|
||||||
{
|
{
|
||||||
// redirige la sortie standard vers un file descriptor
|
// redirige la sortie standard vers un file descriptor
|
||||||
dup2(1, input.fd_out);
|
dup2(1, input[i]->fd_out);
|
||||||
// on tue l'enfant (l'enfant devient la commande entrée par l'utilisateur)
|
// on tue l'enfant (l'enfant devient la commande entrée par l'utilisateur)
|
||||||
execve(input[i].executable, input[i].args, env);
|
execve(input[i]->executable, input[i]->args, env);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user