pycharm解決關(guān)閉flask后依舊可以訪問服務(wù)的問題
這種問題一般是退出flask服務(wù)時(shí)選擇了disconected而不是選擇terminate,dicconected是一種偽斷開,只是在pycharm這里中止了,但是python解釋器依舊在運(yùn)行這個(gè)服務(wù)。
默認(rèn)選項(xiàng)是ask,但是一般情景下,我們退出的話應(yīng)該是關(guān)閉程序,而不是縮小化到托盤,所以更改上圖的默認(rèn)設(shè)置為退出該進(jìn)程。
如果已經(jīng)點(diǎn)了disconnect,那么一種好方法是直接在任務(wù)管理器結(jié)束python解釋器。
但是實(shí)際情況下我們還是只關(guān)閉運(yùn)行flask的python解釋器就行了
利用cmd關(guān)閉監(jiān)聽這個(gè)解釋器就行
netstat -ano | findstr 5000
一般flask啟動(dòng)時(shí)監(jiān)聽的是5000端口,如果修改的話更改后面的端口號(hào)
找到該進(jìn)程的PID 這里是13384,然后利用下面命令把它結(jié)束掉。
taskkill /pid XXXXX /f
補(bǔ)充知識(shí):Flask使用pycharm未關(guān)閉導(dǎo)致僵尸進(jìn)程
我的僵尸進(jìn)程產(chǎn)生
在使用pycharm編譯程序的時(shí)候由于異常退出程序,導(dǎo)致子進(jìn)程退出,父進(jìn)程未結(jié)束,形成僵尸進(jìn)程。
僵尸進(jìn)程
一個(gè)進(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é)果就是,在未啟動(dòng)Flask服務(wù)器的情況下,訪問127.0.0.1:5000,依舊能返回頁面,但是pycharm后臺(tái)無法獲取返回狀態(tài)(即網(wǎng)址以及200/301/404/500)
解決辦法
殺掉進(jìn)程,重新啟動(dòng)程序
以上這篇pycharm解決關(guān)閉flask后依舊可以訪問服務(wù)的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python openpyxl方法 zip函數(shù)用法及說明
這篇文章主要介紹了python openpyxl方法 zip函數(shù)用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05PYTHON實(shí)現(xiàn)SIGN簽名的過程解析
這篇文章主要介紹了PYTHON實(shí)現(xiàn)SIGN簽名的過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Python模塊MarkupPy與自定義html報(bào)告詳解
MarkupPy是Python模塊用于生成HTML和XML格式的字符串,它的主要作用是提供了一種比原生HTML/XML更加易讀和易寫的編寫方式,通過Python代碼來生成HTML或XML代碼,這篇文章主要介紹了Python模塊MarkupPy&自定義html報(bào)告的相關(guān)知識(shí),需要的朋友可以參考下2023-07-07Python的爬蟲框架scrapy用21行代碼寫一個(gè)爬蟲
最近在學(xué)習(xí)Python的爬蟲框架scrapy,通過爬取線報(bào)網(wǎng)站后發(fā)現(xiàn)整個(gè)過程還是挺值得學(xué)習(xí)的,所以下面這篇文章主要就給大家介紹了Python的爬蟲框架scrapy利用21行代碼寫一個(gè)爬蟲的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-04-04