Seyshell
Loading...
Searching...
No Matches
Functions
exec.h File Reference
#include "disk.h"
#include "env.h"
#include "utils.h"
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <ctype.h>
Include dependency graph for exec.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int execute_cmd (disk *d, command **args)
 Point d'entrée principal pour l'orchestration, le pipelining et l'exécution d'une ligne de commande.
 

Function Documentation

◆ execute_cmd()

int execute_cmd ( disk d,
command **  args 
)

Point d'entrée principal pour l'orchestration, le pipelining et l'exécution d'une ligne de commande.

Gère de bout en bout le cycle de vie d'une instruction du Shell :

  1. Intercepte en priorité la commande intégrée cd.
  2. Gère la déconnexion de l'utilisateur (Ctrl+D).
  3. Organise l'enchaînement séquentiel de n-commandes via des tubes anonymes (pipe).
  4. Configure l'interception finale si une redirection de flux sortant vers un fichier (> ou >>) est détectée.
  5. Bloque le parent jusqu'à la fin de l'exécution de l'intégralité des sous-processus créés.
Parameters
dPointeur vers le disque virtuel.
argsTableau de pointeurs vers des structures command à exécuter en chaîne (Pipeline). Terminée par NULL.
Returns
int Statut de sortie final obtenu via waitpid().