我在Windows上使用iPython。 我目前正在制作一个可以卡在套接字接收上的python脚本(我还没有在这部分实现健壮性)。
我正在尝试每个通常的杀戮过程组合键(至少我认识的那些)但是iPython卡住了,我必须关闭并重新打开它。 我试过Ctrl + C,Ctrl + Z,Ctrl + D,我不知道是否有其他组合。
有没有人遇到过这种问题?
谢谢
亚历山大
答案 0 :(得分:2)
某些阻止操作(与操作系统相关)无法正常中断(请参阅cannot interrupt lock.acquire() whereas I can interrupt time.sleep())
我提出了一些方法,要求您了解代码中的内容。
KeyboardInterrupt
为了简单起见,我使用线程锁创建了一个示例。您可以将其调整为套接字或任何阻塞资源:
import threading
import time,sys
l = threading.Lock()
def run():
global l
l.acquire()
l.acquire()
t = threading.Thread(target=run)
t.start()
while True:
try:
time.sleep(1)
except KeyboardInterrupt:
print("quitting")
l.release() # now thread can exit safely
break
答案 1 :(得分:0)
尝试以下命令:
exit
或尝试重启内核。