无法杀死ipython进程

时间:2017-08-30 13:05:30

标签: python ipython

我在Windows上使用iPython。 我目前正在制作一个可以卡在套接字接收上的python脚本(我还没有在这部分实现健壮性)。

我正在尝试每个通常的杀戮过程组合键(至少我认识的那些)但是iPython卡住了,我必须关闭并重新打开它。 我试过Ctrl + C,Ctrl + Z,Ctrl + D,我不知道是否有其他组合。

有没有人遇到过这种问题?

谢谢

亚历山大

2 个答案:

答案 0 :(得分:2)

某些阻止操作(与操作系统相关)无法正常中断(请参阅cannot interrupt lock.acquire() whereas I can interrupt time.sleep()

我提出了一些方法,要求您了解代码中的内容。

  • 使用您的代码运行一个帖子
  • 使用KeyboardInterrupt
  • 的try / except块运行main
  • 异常处理程序应释放/关闭套接字,允许线程完成。

为了简单起见,我使用线程锁创建了一个示例。您可以将其调整为套接字或任何阻塞资源:

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

或尝试重启内核。