使用python根据端口号关闭进程的方法

yipeiwu_com6年前Python基础

我们知道,做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 '<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) 
#开始执行 
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根据端口号关闭进程的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

numpy.random.seed()的使用实例解析

这个函数的使用方法,已经有前辈讲解过了,只是自己在测试的时候有一些思考,所以便写了这篇博客。下面是前辈文章的原话: seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相...

python3.7 利用函数os pandas利用excel对文件名进行归类

python3.7 利用函数os pandas利用excel对文件名进行归类

这里用的python 版本是3.7最新的版本写的。 利用excel ,对门店的二维码对对应所属小区进行分类,比如在excel 江南摩尔店对应浙北大区,那么二维码名字为...

pandas数据处理基础之筛选指定行或者指定列的数据

pandas数据处理基础之筛选指定行或者指定列的数据

pandas主要的两个数据结构是:series(相当于一行或一列数据机构)和DataFrame(相当于多行多列的一个表格数据机构)。 本文为了方便理解会与excel或者sql操作行或列来...

详解pandas中MultiIndex和对象实际索引不一致问题

在最新版的pandas中(不知道之前的版本有没有这个问题),当我们对具有多层次索引的对象做切片或者通过df[bool_list]的方式索引的时候,得到的新的对象尽管实际索引已经发生了改变...

Python标准库使用OrderedDict类的实例讲解

目标:创建一个字典,记录几对python词语,使用OrderedDict类来写,并按顺序输出。 写完报错: [root@centos7 tmp]# python python_ter...