flask重啟后端口被占用的問(wèn)題解決(非kill)
問(wèn)題描述
我在flask程序中,啟動(dòng)了另一個(gè)python程序-test.py:
os.system('nohup python /opt/test/test.py >/dev/null 2>&1 &')當(dāng)我結(jié)束掉flask程序再啟動(dòng)時(shí),就會(huì)報(bào)端口被占用的錯(cuò)誤:
Port 5000 is already in use
而占用我5000端口的程序,恰恰是我在flask中運(yùn)行的test.py程序
解決辦法一:殺掉占用端口的進(jìn)程
首先運(yùn)行netstat命令,找到占用5000端口的pid,然后kill掉進(jìn)程,再次啟動(dòng)flask
netstat -npl |grep 5000 tcp 0 0 1xx.1xx.xx.xx:5000 0.0.0.0:* LISTEN 9345/python kill -9 9345
網(wǎng)上基本全是這種方法換著花樣復(fù)制粘貼,雖然能解決問(wèn)題,但這樣的話(huà),我原本啟動(dòng)的test.py程序就不得不被kill掉,顯然這并沒(méi)有解決根本問(wèn)題,治標(biāo)不治本。
解決辦法二:換用python命令的提交方法
我們現(xiàn)在問(wèn)題的關(guān)鍵是為什么我在flask中啟動(dòng)的程序,會(huì)一直占用我們的端口號(hào),經(jīng)過(guò)不斷試驗(yàn),最終找到了問(wèn)題所在:之所以端口號(hào)被占用,是因?yàn)槲覀冇玫奶峤幻睿?/p>
os.system('nohup python /opt/test/test.py >/dev/null 2>&1 &')用os.system提交,我們可以理解為運(yùn)行的test.py程序是flask進(jìn)程管理的一個(gè)分進(jìn)程,所以當(dāng)flask結(jié)束后,這個(gè)分進(jìn)程依然會(huì)占用我的5000端口號(hào)。
所以,我們改用如下方式提交:
subprocess.Popen('nohup python /opt/test/test.py >/dev/null 2>&1 &', shell=True)subprocess是Python 2.4中新增的一個(gè)模塊,它允許你生成新的進(jìn)程,跟flask進(jìn)程沒(méi)有關(guān)系了,因此也就從根本上解決了端口被占用的問(wèn)題。
到此這篇關(guān)于flask重啟后端口被占用的問(wèn)題解決(非kill)的文章就介紹到這了,更多相關(guān)flask端口被占用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytorch如何加載自己的數(shù)據(jù)集(使用DataLoader讀取Dataset)
這篇文章主要介紹了Pytorch如何加載自己的數(shù)據(jù)集(使用DataLoader讀取Dataset)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
python面試題Python2.x和Python3.x的區(qū)別
這篇文章主要介紹了python面試題Python2.x和Python3.x的區(qū)別 ,在面試中也經(jīng)常會(huì)問(wèn)到,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
簡(jiǎn)單聊聊PyTorch里面的torch.nn.Parameter()
torch.nn.parameter是一個(gè)被用作神經(jīng)網(wǎng)絡(luò)模塊參數(shù)的tensor,這是一種tensor的子類(lèi),下面這篇文章主要給大家介紹了關(guān)于PyTorch里面的torch.nn.Parameter()的相關(guān)資料,需要的朋友可以參考下2022-02-02
pandas針對(duì)excel處理的實(shí)現(xiàn)
這篇文章主要介紹了pandas針對(duì)excel處理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Python 實(shí)現(xiàn)鏈表實(shí)例代碼
這篇文章主要介紹了Python 實(shí)現(xiàn)鏈表實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-04-04
python 使用poster模塊進(jìn)行http方式的文件傳輸?shù)椒?wù)器的方法
今天小編就為大家分享一篇python 使用poster模塊進(jìn)行http方式的文件傳輸?shù)椒?wù)器的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
利用python實(shí)現(xiàn)短信和電話(huà)提醒功能的例子
今天小編就為大家分享一篇利用python實(shí)現(xiàn)短信和電話(huà)提醒功能的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08

