使用python根據(jù)端口號關(guān)閉進(jìn)程的方法
我們知道,做web開發(fā),在調(diào)試時需要反復(fù)啟動整個工程,那么上一個工程占用的端口,在下一次工程啟動時就不能用了,因?yàn)檎加玫亩丝跊]有釋放,但是手動關(guān)閉方法是:
lsof -i:12345
得到pid后再kill -9 pid
十分麻煩,所以能否在啟動python的web工程時順便把上一次占用的端口給關(guān)閉了呢?
當(dāng)然是有的,下面以flask為例(注意,復(fù)制下面的代碼時,不要直接鼠標(biāo)復(fù)制,而是使用左上角的view plain來復(fù)制,因?yàn)閏sdn博客會把'''+str(port)+'''的右側(cè)顯示成5個單引號,以及會把'''kill -9前面顯示成五個單引號):
#-*- encoding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') import os from flask import Flask #生成該類的一個實(shí)例 app = Flask(__name__) #調(diào)用app的路由方法 @app.route('/') def hello_world(): return '<h1> Hello World!</h1>' def killport(port): command='''kill -9 $(netstat -nlp | grep :'''+str(port)+''' | awk '{print $7}' | awk -F"/" '{ print $1 }')''' os.system(command) #開始執(zhí)行 if __name__ == '__main__': #打開調(diào)試窗口 app.debug = True; #run可以指定host參數(shù),指定ip,0.0.0.0表示全網(wǎng)段 #app.run() port=12345 killport(port) app.run(host='0.0.0.0',port=port); #測試方式:curl -i 127.0.0.1:12345/
以上這篇使用python根據(jù)端口號關(guān)閉進(jìn)程的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中函數(shù)帶括號和不帶括號的區(qū)別及說明
這篇文章主要介紹了Python中函數(shù)帶括號和不帶括號的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11解決python繪圖使用subplots出現(xiàn)標(biāo)題重疊的問題
這篇文章主要介紹了python繪圖使用subplots出現(xiàn)標(biāo)題重疊的問題及解決方法,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04利用Python網(wǎng)絡(luò)爬蟲爬取各大音樂評論的代碼
這篇文章主要介紹了如何用Python網(wǎng)絡(luò)爬蟲爬取網(wǎng)易云音樂評論,文章用代碼詳細(xì)的示范了如何爬取網(wǎng)易云音樂評論,對正在學(xué)習(xí)的小伙伴有參考價值,需要的朋友可以參考下2021-04-04scrapy與selenium結(jié)合爬取數(shù)據(jù)(爬取動態(tài)網(wǎng)站)的示例代碼
這篇文章主要介紹了scrapy與selenium結(jié)合爬取數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Python基于動態(tài)規(guī)劃算法解決01背包問題實(shí)例
這篇文章主要介紹了Python基于動態(tài)規(guī)劃算法解決01背包問題,結(jié)合實(shí)例形式分析了Python動態(tài)規(guī)劃算法解決01背包問題的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12