30 lines
535 B
Python
30 lines
535 B
Python
import signal, time, threading
|
|
done = False
|
|
n = 0
|
|
|
|
def counter():
|
|
global n, timer
|
|
n += 1
|
|
print n
|
|
timer = threading.Timer(0.5, counter)
|
|
timer.start()
|
|
|
|
def sigIntHandler(signum, frame):
|
|
global done
|
|
timer.cancel()
|
|
done = True
|
|
|
|
def intrptUNIX():
|
|
global timer
|
|
signal.signal(signal.SIGINT, sigIntHandler)
|
|
|
|
timer = threading.Timer(0.5, counter)
|
|
timer.start()
|
|
while not done:
|
|
signal.pause()
|
|
|
|
t1 = time.time()
|
|
intrptUNIX()
|
|
tdelt = time.time() - t1
|
|
print 'Program has run for %5.3f seconds.' % tdelt
|