您好,登錄后才能下訂單哦!
我們知道,做web開發,在調試時需要反復啟動整個工程,那么上一個工程占用的端口,在下一次工程啟動時就不能用了,因為占用的端口沒有釋放,但是手動關閉方法是:
lsof -i:12345
得到pid后再kill -9 pid
十分麻煩,所以能否在啟動python的web工程時順便把上一次占用的端口給關閉了呢?
當然是有的,下面以flask為例(注意,復制下面的代碼時,不要直接鼠標復制,而是使用左上角的view plain來復制,因為csdn博客會把'''+str(port)+'''的右側顯示成5個單引號,以及會把'''kill -9前面顯示成五個單引號):
#-*- encoding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') import os from flask import Flask #生成該類的一個實例 app = Flask(__name__) #調用app的路由方法 @app.route('/') def hello_world(): return '<h2> Hello World!</h2>' def killport(port): command='''kill -9 $(netstat -nlp | grep :'''+str(port)+''' | awk '{print $7}' | awk -F"/" '{ print $1 }')''' os.system(command) #開始執行 if __name__ == '__main__': #打開調試窗口 app.debug = True; #run可以指定host參數,指定ip,0.0.0.0表示全網段 #app.run() port=12345 killport(port) app.run(host='0.0.0.0',port=port); #測試方式:curl -i 127.0.0.1:12345/
以上這篇使用python根據端口號關閉進程的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。