Thread python et arret du scripte (ctl + c)

Thread python et arret du scripte (ctl + c) - Python - Programmation

Marsh Posté le 02-10-2009 à 11:46:17    

Bonjour, je viens de réaliser un scripte en python mais je voudrais que le scripte puisse s'arrêter par control + c .
 
Voici mon code actuel, qui s'arrête bien au bout de 10 secondes mais impossible de stopper le scripte par ctrl + c:
 
 
J'ai fais pas mal de recherche et il semble que le probleme puisse venir qu'il faille attendre la fin du thread avec join, mais comment?
 
Une idée?
 

Code :
  1. #! /usr/bin/python
  2. import threading 
  3. import serial
  4. import time
  5. ser = serial.Serial('/dev/ttyS0', 57600, 8, 'N', 1, timeout=1)
  6. ser.open()
  7. def lire(a,b): 
  8.   while (1):
  9.    try:
  10.     s = ser.read(1)   
  11.     print s
  12.     print ">"
  13.    except  (KeyboardInterrupt, SystemExit):
  14.      p._Thread__stop() ##marche pas
  15.   ser.close() 
  16.      
  17. p=threading.Thread(target=lire,args=(1,1))
  18. p.start()
  19. time.sleep(10)
  20. p._Thread__stop()##arret du thread au bout de 10 secondes

Reply

Marsh Posté le 02-10-2009 à 11:46:17   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed