Я пытаюсь закрыть сокет, когда пользователь нажимает ctrl-c. Это прекрасно работает, если сокет все еще что-то делает. Но когда сокет выполняется с его работой и ничего не делает, и я нажимаю ctrl-c, ничего не происходит. Кстати, я использую Windows 8.1.Закрытие гнезда ctrl-c не работает
Вот мой код:
# close socket ctrl-c
from signal import signal, SIGINT
def sigint_received(signum, frame):
s.close()
exit(0)
# register SIGINT callback
signal(SIGINT, sigint_received)
Когда я пытаюсь этот код у меня есть один и тот же вопрос:
OriginalExceptHook = sys.excepthook
def NewExceptHook(type, value, traceback):
if type == KeyboardInterrupt:
exit("\nExiting.")
else:
OriginalExceptHook(type, value, traceback)
sys.excepthook = NewExceptHook
Любой знает, что это не так?
вы можете показать код, в котором ваш сокет делает 'something' или «ничего»? что в петле? – Anzel
Да, это время (1) {ожидание данных}. – user3801533
Вы пробовали 'raise KeyboardInterrupt'? – Anzel