我们知道,做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=12345killport(port)app.run(host='0.0.0.0',port=port);  #测试方式:curl -i 127.0.0.1:12345/

使用python根据端口号关闭进程相关推荐

  1. win系统下根据端口号关闭进程

    1.根据端口号查看被占用的端口PID 运行cmd输入命令 netstat -ano|findstr  "you_port" 2.通过PID查看进程 tasklist|findstr ...

  2. linux下根据端口号关闭进程

    环境 1.操作系统CentOS 7.6 64bit 1. 查找占用的程序. netstat -apn | grep 2181#查看到的内容 tcp6 0 0 :::2181 :::* LISTEN 6 ...

  3. 使用shell根据端口号关闭进程

    转载自: http://blog.csdn.net/itbuluoge/article/details/42583559 kill -9 $(netstat -nlp | grep :8080 | a ...

  4. linux shell脚本关闭指定端口号的进程

    关闭指定进程中关键词的进程,最好找一个唯一标识 例如:项目名称 等等 文章目录 一.管道方式 1. 关闭指定程序进程号 2. 关闭指定端口号的进程(推荐使用) 3. 关闭指定进程关键词的进程(推荐使用 ...

  5. 各个系统下关闭占用端口号的进程

    各个系统下关闭占用端口号的进程 以8080端口为例 Windows win + R --> cmd netstat -ano | findstr 8080 查询到的最后一列即为对应进程的PID ...

  6. Windows如何查看端口号以及进程号

    Windows下如何查看端口号还有进程号 Win+R 打开命令控制台 在里面输入Netstat –aon |find "port" 或 Netstat –aon |findstr& ...

  7. mac查看被占用端口号的进程

    通过命令lsof -i:8443 查看占用端口号的进程号,参考如下: 拿到PID为7520后,使用命令 kill 7520关闭进程 如果第二步还是无法关闭进程,那么建议直接通过Mac的活动监视器,一样 ...

  8. AIX中查找端口号和进程

    1.由端口号查找进程 维护系统或检查到不明的端口自然要去查一下这个端口是由哪个进程来监听的 windows可以用命令netstat -ano来查端口对应的进程的pid. aix却并不能,aix需要使用 ...

  9. 结束已经占用的端口号的进程

    结束已经占用的端口号的进程

最新文章

  1. 主角有智能芯片的种田小说_推荐3本克苏鲁类小说,压抑邪恶与搞笑逗乐并存,看看是你的菜吗...
  2. hadoop学习笔记:运行wordcount对文件字符串进行统计案例
  3. 013:ADS semihosting与硬件重定向(转)
  4. 常见排序算法的时间复杂度
  5. java 打破封装_继承打破了封装性
  6. 关于利用exchange server 2003搭建邮件服务器:小进步……
  7. 在输入框后面提示错误_Q9登录错误?你想要的解决方法都在这!
  8. Asp.Net MVC4 Bundle捆绑压缩技术
  9. 【Word】快速插入参考文献
  10. jeecms9自定义标签以及使用新创建的数据库表
  11. Chapter04 编写基本的MapReduce程序(一) 专利数据集实战一
  12. NY891 区间选点 找点
  13. Apache访问控制和Web虚拟主机
  14. 端粒效应《The Telemere Effect》程序员的养生指南(二)情绪、思维模式与健康
  15. 今天你代言了吗?WPS版“陈欧体”引热议
  16. VS MFC Dlg
  17. 《复联4》影评抓取+词云+情感分析
  18. docker 及docker compose笔记
  19. 【Transformer开山之作】Attention is all you need原文解读
  20. 面试积累(java配置环境变量)

热门文章

  1. URAL 1033 Labyrinth
  2. 电影院票务管理系统数据库设计(2)
  3. el-table合并行的实现
  4. greenplum配置高可用_Greenplum 的高可用是怎么做到的?
  5. element ui 前台模板_SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(二):引入 element-ui 定义基本页面显示...
  6. android 手势事件 重写,Android实现通过手势控制图片大小缩放的方法
  7. Augury翻译---io-demo
  8. TensorFlow升级1.4:Cannot remove entries from nonexistent file \lib\site-pack
  9. 使用Caffe预测遇到的问题
  10. BD、人脸识别、KATA、Gray码--程序员杂志文摘