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ésultat commandes shell


Sujet :

Caml

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 147
    Par défaut Résultat commandes shell
    Bonjour à tous.

    J'aimerais récupérer le résultat d'une commande shell. Actuellement, je fais une commande système que je redirige dans un fichier et je lis ce fichier.

    N'y a t-il pas plus élégant ? J'ai lu qu'on pouvait utiliser les commandes execv* mais je n'ai pas bien compris comment m'en servir.

    Ca remplace le programme qui tourne dans le processus courant par le programme passé en argument à execv. La solution serait donc de forker ? Cela permettrait-il de récupérer ce qui est normalement affiché dans la commande ?

    Que me conseillez-vous ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Par défaut
    De rester à la bonne redirection simple et pratique
    (avec une fonction par dessous pour cacher ça, et penser à nettoyer le fichier temporaire, et hop)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 147
    Par défaut
    Citation Envoyé par bluestorm Voir le message
    De rester à la bonne redirection simple et pratique
    (avec une fonction par dessous pour cacher ça, et penser à nettoyer le fichier temporaire, et hop)
    Oui c'est ce que je fais en effet. C'est dommage de passer par la création de fichier, c'est pas très propre quand même.

  4. #4
    Membre Expert
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Par défaut
    T'as pas un pipe ? Même MS-DOS a un pipe (la barre verticale je crois).

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 147
    Par défaut
    Le programme fait tourner des commandes systèmes très fréquemment (en secondes d'intervalles).

    Avec le pipe, tu penses à un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ps -e | mon_programme ?
    Si tel est le cas, ça obligerait à faire appel à un programme externe à l'application.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 147
    Par défaut
    Ok, c'est bon, j'ai trouvé comment faire
    Troooooop bien !!!

    Et effectivement, ça utilise le système de pipe.

    open_process_in est en fait ma solution.

    Il prend en argument la commande système à exécuter et le résultat est retourné dans un 'buffer' (in_channel).

  7. #7
    Membre Expert
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    Même MS-DOS a un pipe (la barre verticale je crois).
    Lequel ?

  8. #8
    Membre Expert
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Par défaut
    Depuis MS-DOS 2.0 (1983), donc assez longtemps pour que ça ne pose aucun problème de portabilité, même pour Caml-Light.

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

Discussions similaires

  1. Récupérer le résultat de commandes shell
    Par Alwik dans le forum Général Python
    Réponses: 14
    Dernier message: 21/08/2016, 12h44
  2. Réponses: 11
    Dernier message: 30/08/2007, 09h08
  3. [VBA] commande Shell sans résultat
    Par p'tite Sandrine dans le forum Access
    Réponses: 6
    Dernier message: 13/02/2007, 11h00
  4. Récupérer le résultat d'une commande shell
    Par espadon1 dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2006, 10h01
  5. Récupération du résultat d'une commande shell
    Par klu dans le forum Langage
    Réponses: 8
    Dernier message: 16/02/2006, 23h34

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