![9460e94c5507b929a905118fab00b2b1.gif](https://i-blog.csdnimg.cn/blog_migrate/ae233b82012bbadba226c30c11fbc183.gif)
有头发且有趣的码农万里挑一~
86
有料叔 | 一位有故事的程序猿
手动cmd命令结束任务:netstat –ano |findstr 端口号
2.手动使用任务管理器查看进程
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防止被占用
脚本实现第一种情况:端口被占用下:
代码执行结果:
第二种情况:端口未被占用:(关闭端口)
代码执行结果:
手动执行cmd命令结束端口占用:taskkill –f –pid
手动在任务管理器上结束进程
使用python的os模块自动释放端口
释放被占用的端口
脚本实现逻辑导入os模块
输入查看占用端口的pid命令
根据命令中核心字段是否存在,判断端口是否被占用
若端口被占用,则获取对应的pid
Pid获取成功后,则执行释放命令
完成脚本:
执行结果:
端口未被占用:
端口被占用:
被占用执行释放命令后:
![da4c91e64079763ea3254c26c7fd89bc.png](https://i-blog.csdnimg.cn/blog_migrate/1b9f474ec0e9ab9b522e096d29d70a0b.png)
码同学限时福利,VIP课程买一送一!
挑战年薪50w+!
![0fa02a748121b01d3f987bccfd66ebfe.png](https://i-blog.csdnimg.cn/blog_migrate/07f9a7dd75787721491b82e07fbb7ffd.png)