1
我想在用戶按下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 2014-11-08 18:30:00
是的,它有一段時間(1){等待數據}循環。 – user3801533 2014-11-09 12:20:37
你有沒有嘗試'提高KeyboardInterrupt'? – Anzel 2014-11-09 18:09:25