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

Caml Discussion :

Récupérer un flux d'un programme exécuté en shell


Sujet :

Caml

  1. #1
    Membre régulier Avatar de ForgetTheNorm
    Homme Profil pro
    Docteur en informatique
    Inscrit en
    Novembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Docteur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 133
    Points : 76
    Points
    76
    Par défaut Récupérer un flux d'un programme exécuté en shell
    Bonjour à tous

    Je souhaite exécuter via Caml un programme. Ce programme prend des paramètres en entrée, puis affiche une unique ligne sur la sortie standard.
    Je souhaite récupérer ce qui est affiché sur la sortie standard.
    Le seul moyen que j'ai trouvé pour l'instant consiste à diriger le flux de sortie vers un fichier, puis de lire ce fichier ; il me semble qu'il y a plus simple...

    Merci

    Pierre

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 309
    Points : 933
    Points
    933

  3. #3
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Bonjour, je ne suis pas bien sûr de comprendre ... on parle d'un unique programme ou de deux programmes qui doivent interagir ?

    S'il n'y a qu'un seul programme : pourquoi diable sortir l'information pour la rentrer ensuite ??? Peut-être s'exécute-t-il en plusieurs étapes ? Si oui le fichier est une bonne solution. Sinon, et bien il suffit, je ne sais pas moi, de reconstruire la même ligne qui est affichée dans la sortie standard et de la réutiliser ... Voir Printf.sprintf

    val sprintf : ('a, unit, string) format -> 'a
    Same as Printf.fprintf, but instead of printing on an output channel, return a string containing the result of formatting the arguments.
    S'il s'agit de deux programmes, utilise un tube : prog1 | prog2. Le second programme n'aura qu'a lire la ligne dans l'entrée standard.


    Merci de m'aiguiller si je suis complètement perdu.
    Cdlt,

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 309
    Points : 933
    Points
    933
    Par défaut
    Citation Envoyé par prgasp77 Voir le message
    Bonjour, je ne suis pas bien sûr de comprendre ...
    Pour moi, il a un programme A écrit en caml, qui doit lancer un programme B, avec un certain nombre de paramètres (sans doute choisis par A), puis doit récupérer la sortie de B. D'où ma réponse précédente.

    Mais son explication n'est effectivement pas très claire.

  5. #5
    Membre régulier Avatar de ForgetTheNorm
    Homme Profil pro
    Docteur en informatique
    Inscrit en
    Novembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Docteur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 133
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par TropMDR Voir le message
    Pour moi, il a un programme A écrit en caml, qui doit lancer un programme B, avec un certain nombre de paramètres (sans doute choisis par A), puis doit récupérer la sortie de B. D'où ma réponse précédente.

    Mais son explication n'est effectivement pas très claire.
    Désolé, je pensais avoir été clair dans ma question ; je m'aperçois que ça n'était pas aussi simple que ça.

    Effectivement, j'ai bien un programme écrit en Caml. Ce programme doit lancer un autre programme, plusieurs fois, sur lequel je n'ai pas la main. Une fois lancé, ce 2nd programme retourne une ligne sur la sortie standard ; c'est cette ligne que je dois récupérer dans mon programme Caml.

    La solution du open_process_in semble être une bonne solution, je m'y attaque.

    Merci

    Pierre

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/08/2010, 10h53
  2. Récupérer le flux de sortie d'un programme en ANSI
    Par Madeline dans le forum Windows
    Réponses: 2
    Dernier message: 14/05/2009, 14h27
  3. Fermer un programme exécuté???
    Par abztrak05 dans le forum C++Builder
    Réponses: 1
    Dernier message: 28/07/2005, 01h31
  4. [Débutant]Créer un programme exécutable?
    Par steelidol dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 27/04/2005, 18h52
  5. Réponses: 4
    Dernier message: 04/07/2003, 20h13

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