Импорт тензорного потока останавливает работу обработчика SIGINT - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь установить обработчик 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()
...