#!/usr/bin/python import random import threading import sys import signal # ctrl-c handler def breakhandler(signum, frame): global oldhandler print 'close detected..' print 'waiting for threads to finish' signal.signal(signum, oldhandler) sys.exit(0) #print current threads def printthread(): print threading.enumerate() # hello world thread! class HelloThread(threading.Thread): def run(self): print 'Hello from thread' while 1: pass oldhandler = signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGINT, breakhandler) test = HelloThread() test.start()