服务停止端口未释放_Appium端口被占用?几行代码实现端口自动检测和释放

9460e94c5507b929a905118fab00b2b1.gif

有头发且有趣的码农万里挑一~ 

86

有料叔 | 一位有故事的程序猿

3e82356bb7a12fb8b20a06b719b88ec4.gif

检测端口有三种方法
  1. 手动cmd命令结束任务:netstat –ano |findstr 端口号

bf68726e7a48b769c4a2c1d6ebab7c93.png

2.手动使用任务管理器查看进程

2c82a3b4810dcb9a0957bd88ac143b42.png

3.使用python的socket模块自动检测端口占用【下面详细解释】

名词解释

Socket:两个程序之间相互通信的链接端口叫做socket,所以相互通信需要一对socket。

Socket的本质是一个编程接口(API),对TCP/IP的封装,TCP/IP也提供可以供其他程序开发调用的接口;HTTP则是提供了封装或者显示数据的具体形式,也就是http是封装传输的信息,socket则是封装接口用来接收和发送信息,在socket通信的时候,每个socket都会被绑定到一个特定的ip和端口

shutdown():shutdown()的调用是需要一个参数:0代表禁止下次的数据读取;1代表禁止下次的数据写入;2代表禁止下次的数据读取和写入

实现目标

自动检测端口是否被占用

脚本实现逻辑:
1.导入socket模块

2.创建socket对象

3.使用connect()连接socket,连接成功后,使用shutdown(2)关闭socket防止被占用 

脚本实现

03b3efe6159e8bb82138088b8d14d49f.png

执行结果

第一种情况:端口被占用下:

3dc2e46114c9d259997ca1fad02d285d.png

代码执行结果:

faadb855cbb907e6b05265b49aac90bc.png

第二种情况:端口未被占用:(关闭端口)

3dc2e46114c9d259997ca1fad02d285d.png

代码执行结果:

1961b71424c86cdf70c1bd20a21573d9.png

释放端口占用的三种方法
  1. 手动执行cmd命令结束端口占用:taskkill –f –pid  

  2. 手动在任务管理器上结束进程

  3. 使用python的os模块自动释放端口

实现目标

释放被占用的端口

脚本实现逻辑
  1. 导入os模块

  2. 输入查看占用端口的pid命令

  3. 根据命令中核心字段是否存在,判断端口是否被占用

3dc2e46114c9d259997ca1fad02d285d.png

  1. 若端口被占用,则获取对应的pid

ee99f98be85edb8e03c641b1b85b8037.png

  1. Pid获取成功后,则执行释放命令

完成脚本:

cd6bfccaced84b4b12a434aab6027679.png

执行结果:

端口未被占用:

2ea9f787f5e90133c2dff28135d81446.png

端口被占用:

d8872c0ab5e8c40a4bb8d1cec45e048b.png

被占用执行释放命令后:

66506f4b9691e91182c1c1e2faacc1fc.png

da4c91e64079763ea3254c26c7fd89bc.png

码同学限时福利,VIP课程买一送一!

挑战年薪50w+!

3fbf60afbfc49c6068461ee1f787ce00.png

c7f13dfca2e53c52838892e569236499.png

0fa02a748121b01d3f987bccfd66ebfe.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值