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

Interfaçage autre langage Python Discussion :

Killer un sous-interpréteur


Sujet :

Interfaçage autre langage Python

  1. #1
    Membre du Club

    Inscrit en
    Janvier 2011
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 29
    Points : 55
    Points
    55
    Billets dans le blog
    1
    Par défaut Killer un sous-interpréteur
    Bonjour, J'ai créé une console interactive python qui s'appuie sur PyInterpreterState_New()
    puis, je jongle avec des PyThreadState_Swap pour permettre plusieurs "instances" de la console...
    ça marche, mais j'ai un p'tit problème : comment pourrais-je faire pour killer un de mes threads si celui-ci ne répond pas? (genre une boucle infinie)

    Merci d'avance!

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Ceci ?
    void Py_EndInterpreter(PyThreadState *tstate)

    Destroy the (sub-)interpreter represented by the given thread state. The given thread state must be the current thread state. See the discussion of thread states below. When the call returns, the current thread state is NULL. All thread states associated with this interpreter are destroyed. (The global interpreter lock must be held before calling this function and is still held when it returns.) Py_Finalize will destroy all sub-interpreters that haven’t been explicitly destroyed at that point.
    @+
    Merci d'utiliser le forum pour les questions techniques.

  3. #3
    Membre du Club

    Inscrit en
    Janvier 2011
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 29
    Points : 55
    Points
    55
    Billets dans le blog
    1
    Par défaut
    Oui, mais:
    "The given thread state must be the current thread state."
    ...Or moi, ce que j'aimerais, c'est pouvoir killer le thread depuis un autre... un peu comme avec pthread_cancel... mais je doute qu'on puisse avoir accès au thread posix...

    ...Le but, c'est d'avoir un moyen d'arrêter l'interpréteur si l'utilisateur entre un truc du genre:
    while(true):
    print("stupide boucle fait tout planter")


    (...Bon, après, j'ai toujours la solution d'intercaler avant chaque instruction une fonction de test pour vérifier qu'il n'y a pas de signal d'arrêt, mais ça va ralentir le code python...)

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/05/2015, 17h23
  2. Interpréteur de commande sous VS2010
    Par digofwall dans le forum Visual Studio
    Réponses: 0
    Dernier message: 01/11/2012, 07h09
  3. Killer un processus à distance sous Windows 7
    Par Il_TiRaNNo dans le forum Windows 7
    Réponses: 4
    Dernier message: 02/08/2010, 11h43

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