[python] control+c ne marche pas ???

control+c ne marche pas ??? [python] - Python - Programmation

Marsh Posté le 26-10-2006 à 15:59:25    

Salut,
j'arrive pas a casser l'execution de ce programme avec control+c depuis la console, seul moyen "gestionnaire de taches"... comment on fait svp pour que ca marche ???
 
voici le code a tester:

Code :
  1. import time, os, threading
  2. class TestBug(threading.Thread):
  3. def __init__(self):
  4.  threading.Thread.__init__(self)
  5.  self.start()
  6. def run(self):
  7.  while(1):
  8.   try:
  9.    print "run"
  10.    time.sleep(2)
  11.   except:
  12.    print "got except"
  13. if __name__ == '__main__':
  14. try:
  15.  tester = TestBug()
  16. except:
  17.  print "except"


Message édité par k666 le 26-10-2006 à 16:02:08
Reply

Marsh Posté le 26-10-2006 à 15:59:25   

Reply

Marsh Posté le 26-10-2006 à 16:01:26    

bah t'as une boucle infinie, c'est tout. Déconne pas avec ton try/except et ça marchera.

Reply

Marsh Posté le 26-10-2006 à 16:03:21    

pas vrai, marche pas, regarde avec ca c pareil:
 

Code :
  1. import time, os, threading
  2. class TestBug(threading.Thread):
  3. def __init__(self):
  4.  threading.Thread.__init__(self)
  5.  self.start()
  6. def run(self):
  7.  while(1):
  8.   print "run"
  9.   time.sleep(2)
  10. if __name__ == '__main__':
  11. tester = TestBug()

Reply

Marsh Posté le 26-10-2006 à 16:19:11    

:(

Reply

Marsh Posté le 26-10-2006 à 16:43:08    

join ton thread sinon c'est moche

Reply

Marsh Posté le 26-10-2006 à 17:03:36    

ca veut dire quoi join ton thread ? le joindre au terminal d'ou se lance l'application ?

Reply

Marsh Posté le 26-10-2006 à 17:05:32    

en fait, ca donnerait quoi un truc uqi marche ? =D

Reply

Marsh Posté le 26-10-2006 à 21:15:06    

mmmm ...
personne a une idée????

Reply

Marsh Posté le 27-10-2006 à 09:26:18    

k666 a écrit :

ca veut dire quoi join ton thread ? le joindre au terminal d'ou se lance l'application ?


ça veut dire faire un join() entre ton thread principal et le thread TestBug, ça permet au thread principal d'attendre que TestBug se termine avant de quitter


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 28-10-2006 à 01:25:15    

en fait TestBug doit tourner toujours tant que ctrl+c n'a pas ete lance dans le thread principal. TestBug sera une sorte de sous-daemon du thread principal !

Reply

Sujets relatifs:

Leave a Replay

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