Я пытаюсь установить обработчик SIGINT для перехвата ctrl-c.Это прекрасно работает, если я не импортирую tenorflow, но я предполагаю, что код инициализации tf устанавливает обработчик.Я использую TF 1.10.0 на Windows 10 с установкой Anaconda.Чего я не понимаю, так это как tf может установить обработчик после моего.
import time
import signal
# Uncommenting this line results in ctrl-C not being caught, instead calling exit().
# I believe any tf import causes the problem.
#from tensorflow.keras import callbacks
def signal_handler(sig, frame):
print('Received signal: ' + str(sig))
def main():
signal.signal(signal.SIGINT, signal_handler)
print('started')
while True:
print('...')
time.sleep(1)
print('finished')
if __name__ == "__main__":
main()