ziloga | 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 :
- #! /usr/bin/python
- import threading
- import serial
- import time
- ser = serial.Serial('/dev/ttyS0', 57600, 8, 'N', 1, timeout=1)
- ser.open()
- def lire(a,b):
- while (1):
- try:
- s = ser.read(1)
- print s
- print ">"
- except (KeyboardInterrupt, SystemExit):
- p._Thread__stop() ##marche pas
- ser.close()
-
- p=threading.Thread(target=lire,args=(1,1))
- p.start()
- time.sleep(10)
- p._Thread__stop()##arret du thread au bout de 10 secondes
|
|