我在Windows上使用iPython。 我目前正在製作一個可以卡在套接字接收的python腳本(我還沒有在這個部分實現魯棒性)。無法殺死ipython進程
我想每一個平常的殺死進程組合鍵(至少我知道的),但iPython卡住了,我必須關閉並重新打開它。 我試過Ctrl + C,Ctrl + Z,Ctrl + D,我不知道是否還有其他組合。
有沒有人經歷過這種問題?
謝謝
亞歷山大
我在Windows上使用iPython。 我目前正在製作一個可以卡在套接字接收的python腳本(我還沒有在這個部分實現魯棒性)。無法殺死ipython進程
我想每一個平常的殺死進程組合鍵(至少我知道的),但iPython卡住了,我必須關閉並重新打開它。 我試過Ctrl + C,Ctrl + Z,Ctrl + D,我不知道是否還有其他組合。
有沒有人經歷過這種問題?
謝謝
亞歷山大
一些阻塞操作(與操作系統)不能正常中斷(見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
試試下面的命令:
exit
或嘗試重新啓動內核。
是什麼?但如果OP不能鍵入CTRL,他/她怎麼能輸入'exit'。另外,這是明顯錯誤的。它不起作用 –
您是否嘗試重新啓動內核? –
[你有試過關掉它嗎?](https://www.youtube.com/results?search_query=it+crowd+have+you+tried+turning+it+off+and+on+again ) –
Ctrl + Alt + Suppr? – CCH
_that_超級煩人。我通過在一個線程中執行套接字事情來解決這個問題,並且在main中循環了一個time.sleep(),所以CTRL + C可以工作。 –
我可否知道您使用的是哪個IDE? –