Précédent Remonter Suivant

2  mpipe: tube à écritures multiples

On va développer une commande
mpipe command_1 command_2 ... command_n
qui exécute simultanément et indépendamment les n commandes désignées. On notera que dans cette version préliminaire, les commandes ne prennent pas d'arguments. Les entrées/sorties standard de ces commandes sont redirigées comme suit : L'exécution de la commande mpipe prend fin à la terminaison des n commandes. Cette terminaison est un succès si et seulement si l'ensemble des commandes ont terminé sur un succès.

Exercice 3
   Identifiez les grandes étapes d'une implantation de la commande mpipe. En particulier explicitez bien les fermetures de descripteurs nécessaires à la bonne terminaison des n commandes.

On considère le code suivant :
static int ncmd;                        /* n, number of commands */
static int rstatus = EXIT_SUCCESS;      /* mpipe status */

int 
main(int argc, char *argv[])
{   
    ncmd = argc-1;

    ...
     
    exit(rstatus);
}


Exercice 4
   Complétez le code de la fonction main() pour mettre en Å“uvre votre proposition faite à l'exercice précédent.


Précédent Remonter Suivant