def main_function():
    data_for_signal_handler = 10

def signal_handler(*args):
    print(data_for_signal_handler)
sys.exit()
signal.signal(signal.SIGINT, signal_handler)
while True:
    data_for_signal_handler += 1
time.sleep(0.5)
if __name__ == '__main__':
    main_function()
Использование переменных в обработчике сигналов — требуется глобальный?