URL: https://linuxfr.org/forums/programmation-python/posts/threads-et-readline Title: Threads et readline Authors: jjl Date: 2005年11月26日T20:37:12+01:00 Tags: Score: 0 Bonjour, J'ai un petit problème que je n'arrive pas à résoudre : mon prog possede 2 threads, le principal qui fait du traitement et un qui attend des commandes sur l'entrée standard. Le programme doit se terminer sur un SIGINT ou SIGTERM. Or si mon thread principal se termine correctement mon 2ème continue tranquillement son travail ! Comment le terminer ? Voici un petit code d'exemple : #!/usr/bin/env python import threading,sys,time,signal class input(threading.Thread): £spaces£ £/spaces£def __init__(self,input): £spaces£ £/spaces£threading.Thread.__init__(self) £spaces£ £/spaces£self.input = input £spaces£ £/spaces£def run(self): £spaces£ £/spaces£while 1: £spaces£ £/spaces£line = self.input.readline().rstrip('\n') £spaces£ £/spaces£if not line: break £spaces£ £/spaces£print line def doStuff(): £spaces£ £/spaces£while 1: £spaces£ £/spaces£print "je fais qqchose" £spaces£ £/spaces£time.sleep(10) def exit(signum,frame): £spaces£ £/spaces£print "exiting (%d) ..."%(signum) £spaces£ £/spaces£sys.exit(signum) if __name__=="__main__": £spaces£ £/spaces£signal.signal(signal.SIGTERM, exit) £spaces£ £/spaces£signal.signal(signal.SIGINT, exit) £spaces£ £/spaces£background = input(sys.stdin) £spaces£ £/spaces£background.start() £spaces£ £/spaces£doStuff() D'avance merci