Lors de l'utilisation du module de thread et de la classe Thread(), SIGINT (Ctrl + C dans la console) n'a pas pu être intercepté.Comment puis-je attraper SIGINT dans le programme de threading python?
Pourquoi et que puis-je faire?
programme de test simple:
#!/usr/bin/env python
import threading
def test(suffix):
while True:
print "test", suffix
def main():
for i in (1, 2, 3, 4, 5):
threading.Thread(target=test, args=(i,)).start()
if __name__ == "__main__":
main()
Essayez de frapper Ctrl-C - rien ne se passe.
Le fil principal ne reçoit pas SIGINT non plus. Sinon, je pourrais juste l'attraper et appeler sys.exit (0). –
Il semble que j'ai tort. Le thread principal reçoit SIGINT. Je vous remercie! –
Mais je ne comprends pas pourquoi sys.exit (0) ne fonctionne pas dans le gestionnaire de signal. –