Partage
  • Partager sur Facebook
  • Partager sur Twitter

Implementer une redirection

    21 juin 2022 à 19:07:22

    Bonjour, je dois implémenter une redirection dans mon exercice mais je suis entrain de m'embrouiller.

    Ca dit : Le programme spécifié par arguments effectue la lecture sur le descripteur 0.
    Il faut ajouter le code qui implemente une redirection : quand l’enfant lit sur le descripteur 0 il doit lire le fichier dont le descripteur est desc.

    Du coup, j'ai ajouté dup2(0,desc) dans le processus enfant mais je ne suis pas sur que ça soit correct 

    Quelqu'un peut me confirmer si c'est bon ? 

    Merci pour votre aide 

    int redirection(int desc, char *arguments[], int fin).
    {
        int tube[2];
        pid_t pid = fork();
        if (pid < 0)
            return -1;
        if (pid > 0)
        {
            dup2(0, desc); /*  <<<<<<  */
            execv(arguments[0], arguments);
            perror("execv");
            exit(1);
        }
    
        if (fin)
            return 1;
    
        return tube[1];
    }

    -
    Edité par JohnJohn89 21 juin 2022 à 19:20:49

    • Partager sur Facebook
    • Partager sur Twitter

    Implementer une redirection

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown