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 :

interrompre une application avec un raccourcis clavier


Sujet :

Python

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juillet 2007
    Messages : 15
    Points : 15
    Points
    15
    Par défaut interrompre une application avec un raccourcis clavier
    Bonjour à tous!

    Je fais appel à vous car je développe une petite application pour mon projet d'examen (un petit serveur web en python en mode console).
    J'aimerais savoir comment je pourrais interrompre l'application par un simple raccourcis clavier (un peu comme le Ctrl+C sous Unix par exemple qui n'a pas l'air de fonctionner sous Windows).

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    A mon avis, ce n'est pas très naturel de vouloir arrêter un serveur avec un Ctle-C. Par exemple, sous Linux, les serveurs s'arrêtent avec un script shell de type: "/etc/init.d/leserveur stop". On peut aussi "tuer" le processus en cours avec les outils courants d'administration.

    J'ai déjà utilisé la solution suivante: comme c'est un serveur, il écoute. Tu peux donc lui envoyer une requête particulière pour lui demander de s'arrêter. A titre de précaution, il faut que la requête soit suffisamment complexe (un code), et tu peux vérifier aussi que la demande vient bien de la machine elle-même et pas du réseau (pour éviter l'arrêt à distance non autorisée).

    Si tu veux quand même tester le clavier sous Windows, tu peux utiliser le module msvcrt (spécifique Windows) et ses fonctions kbhit( ) et getch( ). Pour faire la même chose sous Linux, c'est plus difficile, et tu peux t'inspirer de ce que j'ai fait ici: http://python.jpvweb.com/mesrecettes...mbres_premiers. Dans ce code, l'accélérateur psyco empêchait d'arrêter le programme avec un Ctle-C, et il a fallu que je développe une astuce pour le faire quand même.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juillet 2007
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Merci pour ta réponse!

    Le but de l'application n'est pas d'être lancé de cette façon. Ce n'est pas une application serveur de production mais justement d'être lancé directement depuis une console histoire d'être appeler directement depuis d'autres projets ou pourquoi pas faire un petit serveur de developpement...

    Si je voulais mettre en place ce raccourcis clavier (ou n'importe quel autre) c'est tout simplement que sous Windows, une fois que l'application est lancé, je ne peut l'arrêter qu'en fermant la console...Pas top!

    Sinon merci pour ton exemple (j'utilise moi aussi psyco) mais je souhaite que mon code soit le plus portable possible et donc je souhaiterais utiliser le moins de code spécifique possible à chaque OS et éviter "if windows, if linux etc"...enfin si c'est possible.

Discussions similaires

  1. Imprimer une requête en Paysage sous VBA avec des raccourcis clavier.
    Par Armagnak dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/08/2006, 10h51
  2. Réponses: 5
    Dernier message: 06/08/2006, 19h38
  3. Réponses: 3
    Dernier message: 09/01/2006, 16h35
  4. Conseils pour developper une application avec Oracle
    Par belugha dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 02/06/2003, 16h03
  5. [VB6]Fermer une application avec VB
    Par Mylou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/04/2003, 21h32

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