zoukankan      html  css  js  c++  java
  • Appium+Python3 端口自动检测和释放

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2019-08-06 10:38
    # @Author : zhouyang
    # @File : check_port.py
    '''
    Appium端口自动检测是否被占用
    shutdown(self,flag):禁止在一个Socket上进行数据的接受和发送。利用shutdown()函数使socket双向数据传输变为单向数据传输,
    shutdown()需要一个单独的参数,该参数表示了如何关闭socket
    参数:0:表示禁止将来读;1:表示禁止将来写;2:表示禁止将来读和写
    
    Appium端口自动释放  端口被占用,自动释放
    '''
    
    import socket
    import os
    
    def check_port(host,port):
        '''检测端口是否被占用'''
        #创建socket对象
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
        try:
            s.connect((host,port))
            s.shutdown(2)
        except OSError as msg:
            print('port %s is available'%port)
            print(msg)
            return True
        else:
            print('port %s is already use'%port)
            return False
    
    
    def relase_port(port):
        '''释放指定端口'''
        #查找指定端口对应的pid
        cmd_find='netstat -aon | findstr %s'%port
        print(cmd_find)
    
        #返回命令执行后的结果
        result=os.popen(cmd_find).read()
        print(result)
    
        if str(port) and 'LISTENING' in result:
            #获取端口对应的pid进程
            i=result.index('LISTENING')
            start=i+len('LISTENING')+7
            end=result.index('
    ')
            pid=result[start,end]
    
            #关闭被占用端口的pid
            cmd_kill='taskkill -f -pid %s'%pid
            print(cmd_kill)
            os.popen(cmd_kill)
        else:
            print('port %s is available'%port)
    
    
    if __name__ == '__main__':
        host='127.0.0.1'
        port=4725
        # check_port(host,port)
        relase_port(port)
  • 相关阅读:
    python3笔记二十二:正则表达式之函数
    python3笔记二十一:时间操作datetime和calendar
    python3笔记二十:时间操作time
    python3笔记十七:python文件读写
    Spring常用注解
    Pytorch实现卷积神经网络CNN
    Keras实现autoencoder
    Keras实现LSTM
    TensorFlow实现CNN
    Recurrent Neural Networks vs LSTM
  • 原文地址:https://www.cnblogs.com/xiuxiu123456/p/11322431.html
Copyright © 2011-2022 走看看