IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

[UNIX] exec() et redirection


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 127
    Points : 64
    Points
    64
    Par défaut [UNIX] exec() et redirection
    Bonjour a tous, bonjour a toutes,

    Je developpe actuellement un programme qui utilise une application tierse. Pour executer cette application a partir de mon programme j'utilise le duo fork() / exec().

    Cette application s'execute tout a fait correctement. Seulement, elle ecrit sur la sortie standard et 'pollue' ainsi mon ecran.

    Je souhaite donc tout simplement rediriger vers > /dev/null la sortie standard de cette application. J'imagine que la solution est assez evidente mais je n'arrive pas a la trouver.

    Si vous pouvez m'aider...

    En vous remerciant.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Je conseille un truc de ce genre après le fork et avant le exec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int desc = open("/dev/null");
    dup2(desc, STDOUT_FILENO);
    close(desc);
    J'écris ça de mémoire, mais c'est l'idée générale: Tu rediriges stdout vers /dev/null


    Edit: Plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    freopen("/dev/null", "w", stdout);

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 127
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Médinoc
    Edit: Plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    freopen("/dev/null", "w", stdout);
    En effet, c'est simple.
    Surtout, c'est efficace.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Runtime,exec] Comment faire un pipe unix dans le exec ?
    Par Escuzze dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 06/03/2008, 12h48
  2. [UNIX output] et redirection
    Par BainE dans le forum Linux
    Réponses: 2
    Dernier message: 21/09/2007, 17h21
  3. [C++] exec() et redirection
    Par levit dans le forum Linux
    Réponses: 1
    Dernier message: 19/07/2007, 14h24
  4. [Perl CGI] redirection après exec()?
    Par JohnMatrix dans le forum Web
    Réponses: 1
    Dernier message: 22/01/2007, 09h39
  5. [Process] pb exec sous unix, ne plante pas mais ne fait rien
    Par NiBicUs dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 10/12/2004, 05h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo