• [^] # Re: ping -c

    Posté par . En réponse au message Popen 2/3/4 utilisation. Évalué à 3.

    Ping n'est pas un très bon exemple, car il ne réagit pas à la fermeture de stdout.

    Par exemple si tu fais :


    i, o = os.popen2('top -b')
    i.close()
    o.readline()
    # Tu fais les traitements nécessaires
    o.close()


    Là tu peux voir que la commande top c'est bien arrêtée. Ce n'est pas très clair comme principe, car ca dépend de la manière dont est gérée les sorties dans ton programme. A noter qu'un os.close(o.fileno()) peut mieux marcher dans certains cas (ne me demande pas pourquoi).

    Si tu veux agir plus finement, il te faut le pid : regarde alors du coté du module popen2 sous python2.3 ou subprocess sous python2.4. Avec le pid tu peux envoyer les signaux que tu veux.

    --
    Thomas