pycharm解決關(guān)閉flask后依舊可以訪問服務(wù)的問題
這種問題一般是退出flask服務(wù)時選擇了disconected而不是選擇terminate,dicconected是一種偽斷開,只是在pycharm這里中止了,但是python解釋器依舊在運(yùn)行這個服務(wù)。

默認(rèn)選項是ask,但是一般情景下,我們退出的話應(yīng)該是關(guān)閉程序,而不是縮小化到托盤,所以更改上圖的默認(rèn)設(shè)置為退出該進(jìn)程。
如果已經(jīng)點了disconnect,那么一種好方法是直接在任務(wù)管理器結(jié)束python解釋器。
但是實際情況下我們還是只關(guān)閉運(yùn)行flask的python解釋器就行了
利用cmd關(guān)閉監(jiān)聽這個解釋器就行
netstat -ano | findstr 5000
一般flask啟動時監(jiān)聽的是5000端口,如果修改的話更改后面的端口號

找到該進(jìn)程的PID 這里是13384,然后利用下面命令把它結(jié)束掉。
taskkill /pid XXXXX /f
補(bǔ)充知識:Flask使用pycharm未關(guān)閉導(dǎo)致僵尸進(jìn)程
我的僵尸進(jìn)程產(chǎn)生
在使用pycharm編譯程序的時候由于異常退出程序,導(dǎo)致子進(jìn)程退出,父進(jìn)程未結(jié)束,形成僵尸進(jìn)程。

僵尸進(jìn)程
一個進(jìn)程使用fork創(chuàng)建子進(jìn)程,如果子進(jìn)程退出,而父進(jìn)程并沒有調(diào)用wait或waitpid獲取子進(jìn)程的狀態(tài)信息,那么子進(jìn)程的進(jìn)程描述符仍然保存在系統(tǒng)中。這種進(jìn)程稱之為僵死進(jìn)程。
造成的后果
直接導(dǎo)致的結(jié)果就是,在未啟動Flask服務(wù)器的情況下,訪問127.0.0.1:5000,依舊能返回頁面,但是pycharm后臺無法獲取返回狀態(tài)(即網(wǎng)址以及200/301/404/500)

解決辦法
殺掉進(jìn)程,重新啟動程序
以上這篇pycharm解決關(guān)閉flask后依舊可以訪問服務(wù)的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python openpyxl方法 zip函數(shù)用法及說明
這篇文章主要介紹了python openpyxl方法 zip函數(shù)用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05

