begin process at 2012 05 30 14:04:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Systeme

 > 

Programmation Système Linux


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Programmation Système Linux

jeudi 30 décembre 2004 à 02:30:24 | Programmation Système Linux

salvio3223

Bonjour bonjour.
Je souhaitais simplement demander si il est possible (je pense lol) de copier le résultat de l'execution de commande sur la sortie standard dans un fichier depuis un programme ( copier pas rediriger lol ).

Je m'explique : j'ai un petit programme qui récupère des commandes systèmes écrites dans un mail, je fais tout plein d' execvp et donc le résultat s'affiche sur la sortie standard ( normal me direz vous ).
Et j'aurai besoin d'avoir une copie de ce resultat dans un fichier.
J'y arrive en redirigeant la sortie standard dans un fichier à l'aide d'un "dup2", mais du coup j'ai plus rien sur la dite sortie.Voilà si qq'un connait le pb et a une solution ou une idée je serai grandement reconnaissant.
jeudi 30 décembre 2004 à 11:22:58 | Re : Programmation Système Linux

MetalDwarf

Si je me souviens bien (ca fait longtemps que je n ai pas fait ce genre de code), la solution est de creer un pipe (ou tube en bon francais), de faire un fork() et dans le processus fils dont on a remplace l'entree et la sortie standard par les extremites du pipe executer le programme par exexvp() par exemple.

Ceci permet de controler l entree et la sortie standard d un programme, ce qui peut etre utile pour mettre en place un systeme de plugins. Mais dans ton cas ca te permet d avoir un controle sur la sortie standard et donc de l ecrire dans un fichier ET de l ecrire sur le terminal.

Il y a peut etre plus simple mais cette methode fonctionne.
jeudi 30 décembre 2004 à 19:35:32 | Re : Programmation Système Linux

plus_plus_fab

Réponse acceptée !
Salut,

plus simple, moins ambitieux, utiliser la commande tee :
$ ls | tee ls.txt
affiche le résultat de ls sur la sortie standard, et dans le fichier ls.txt
$ ps | tee -a ls.txt
affiche le résultat de ps sur la sortie standard, et à la fin du fichier ls.txt (option -a)
jeudi 30 décembre 2004 à 19:43:17 | Re : Programmation Système Linux

salvio3223

Merci bcp.Pour la méthode avec le pipe, j'ai essayé mais le pb c'est que je n'arrive pas à avoir les deux en même temps(affichage + écriture dans un fichier).Mais je vais continuer à chercher merci.
Sinon avec la commande tee ca marche, c'est pas exactement comme je l'aurai imaginé mais cela fonctionne et ca mise en place dans le programme n'est pas ( trop :) ) complexe.
Merci bcp à vous pour vos conseils.
vendredi 31 décembre 2004 à 12:04:44 | Re : Programmation Système Linux

MetalDwarf

A je ne connaissait pas cette commande. Comme quoi, on en apprend tout les jours (je suis tres loin d etre un pro du shell...).


Cette discussion est classée dans : fichier, programmation, système, sortie, standard


Répondre à ce message

Sujets en rapport avec ce message

programmation système C:Ya du boulot!!! [ par samder76 ] Dans le cadre scolaire, je dois créer un système de fichier où:-la gestion des fichier se fera se fera par l'intermédiaire d'un fichier unix dans lequ redirection temporaire entree standard [ par simonpelloquin ] Bonjour à tous, Je suis sous linux, et fais une petite class sous emacs. Une methode "getData" de cette classe affiche des données à l'ecran (par cou programmation en c++ [ par nanicha ] slt; svp si quelqu'un peut m'aider pour écrire un programme en c++qui sépare entre les balises d'une page html et le texte qui est entre ces balises e Un seul fichier de sortie au lieu de plusieurs [ par apu04 ] Bonjour à tous, J'ai une fonction qui récupère différents textes à partir de fichiers différents et stocke chacun de ces texte dans des fichiers de so programmation [ par Maxbix ] salut,comment recuperer les donnees d'un fichier excel avec visaum c++ dans boite dialogue MFC;Comme par exemple saisir une liste etudiants dans le fi PROBLEME DElecture d'un fichier [ par africanwinners ] Bonjour tout le monde j'ai fait un code qui permetde lire le contenu d'un fichier. mais il affiche un faux résultat qui ne correspond pas au fichier l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales