1. 程式人生 > 程式設計 >pycharm解決關閉flask後依舊可以訪問服務的問題

pycharm解決關閉flask後依舊可以訪問服務的問題

這種問題一般是退出flask服務時選擇了disconected而不是選擇terminate,dicconected是一種偽斷開,只是在pycharm這裡中止了,但是python直譯器依舊在執行這個服務。

pycharm解決關閉flask後依舊可以訪問服務的問題

預設選項是ask,但是一般情景下,我們退出的話應該是關閉程式,而不是縮小化到托盤,所以更改上圖的預設設定為退出該程序。

如果已經手賤點了disconnect,那麼一種好方法是直接在工作管理員結束python直譯器。

但是實際情況下我們還是隻關閉執行flask的python直譯器就行了

利用cmd關閉監聽這個直譯器就行

netstat -ano | findstr 5000

一般flask啟動時監聽的是5000埠,如果修改的話更改後面的埠號

pycharm解決關閉flask後依舊可以訪問服務的問題

找到該程序的PID 這裡是13384,然後利用下面命令把它結束掉。

taskkill /pid XXXXX /f

補充知識:Flask使用pycharm未關閉導致殭屍程序

我的殭屍程序產生

在使用pycharm編譯程式的時候由於異常退出程式,導致子程序退出,父程序未結束,形成殭屍程序。

pycharm解決關閉flask後依舊可以訪問服務的問題

殭屍程序

一個程序使用fork建立子程序,如果子程序退出,而父程序並沒有呼叫wait或waitpid獲取子程序的狀態資訊,那麼子程序的程序描述符仍然儲存在系統中。這種程序稱之為僵死程序。

造成的後果

直接導致的結果就是,在未啟動Flask伺服器的情況下,訪問127.0.0.1:5000,依舊能返回頁面,但是pycharm後臺無法獲取返回狀態(即網址以及200/301/404/500)

pycharm解決關閉flask後依舊可以訪問服務的問題

解決辦法

殺掉程序,重新啟動程式

以上這篇pycharm解決關閉flask後依舊可以訪問服務的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。