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

Python Discussion :

Capturer la sortie d'un process


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ghost942
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Par défaut Capturer la sortie d'un process
    Bonjour,

    Je me demandais s'il était possible en python de pouvoir capturer la sortie standard d'un process en cours afin d'en surveiller le fonctionnement. (Sous Linux)

    Les seules informations que je trouve sur Internet sont relatives au lancement d'un sous-process or ce n'est pas ce que je recherche vu que le process tourne déjà.

    Le but est de capturer respectivement la sortie standard d'un ou plusieurs serveurs de jeux qui sont lancés avec SCREEN et leur sortie dirigée vers des pseudo-terminaux: pts/0 pts/1 ..

    Est ce que quelqu'un a une idée?

  2. #2
    Membre éclairé Avatar de saad.hessane
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 315
    Par défaut
    Un exemple tiré de la doc :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    process = subprocess.Popen(['echo', 'Hello World!'], shell=False, stdout=subprocess.PIPE)
    print process.communicate()
    Affiche Hello World!

  3. #3
    Membre confirmé Avatar de ghost942
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Par défaut
    Oui mais non, ... Je dois pouvoir venir me "greffer" à la sortie d'un process déjà lancé et qui n'est pas question d'interrompre ou de lancer dans le script python.

  4. #4
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Par défaut
    ca devrait faire l'affaire :
    http://docs.python.org/library/pty.html#module-pty

    ou alors voir du coté du module os qui implante un os.openpty()

    bon courage

  5. #5
    Membre éclairé Avatar de saad.hessane
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 315
    Par défaut
    D'après ce que je sais ca n'est pas possible. Une fois le processus lancé, lui seul a la charge des descripteurs qu'il a ouvert.
    A confirmer.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    C'est exact.

    Si tu veux récupérer la sortie du process, tu peux aussi le lancer de sorte à rediriger sa sortie vers un fichier (sur le disque, en ram, ou encore un device sous unix, il y a des techniques pour faire ça).

    Puis en python, tu consommes ce fichier.

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

Discussions similaires

  1. [PowerShell] Comment capturer un sortie dans un fichier ?
    Par max-mag dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 03/01/2013, 14h35
  2. Capturer la sortie d'un script javascript
    Par kegilko dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 04/03/2012, 17h19
  3. Capture de sortie standard
    Par Vantrax dans le forum Langage
    Réponses: 1
    Dernier message: 11/11/2009, 14h56
  4. Capturer la sortie haut-parleurs
    Par fab56 dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 11/03/2008, 18h08
  5. [Process] recuperer entree et sortie d'un programme externe
    Par Gob4 dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 22/09/2005, 18h18

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