Ну, по крайней мере, для меня загадка. Учтите следующее:
import time
import signal
def catcher(signum, _):
print "beat!"
signal.signal(signal.SIGALRM, catcher)
signal.setitimer(signal.ITIMER_REAL, 2, 2)
while True:
time.sleep(5)
Работает, как и ожидалось, т.е. дает "удар!" сообщение каждые 2 секунды. Далее вывод не производится:
import time
import signal
def catcher(signum, _):
print "beat!"
signal.signal(signal.SIGVTALRM, catcher)
signal.setitimer(signal.ITIMER_VIRTUAL, 2, 2)
while True:
time.sleep(5)
Где проблема?