第二次执行python -m SimpleHTTPServer 8080 &出现[Errno 98] Address already in use 错误的问题解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/we1583004we/article/details/80623737

问题描述:在使用python起http服务的时候,发现第二次执行命令出现[Errno 98] Address already in use,错误,后来发现是端口被占用了

解决方法1:

在linux执行命令 lsof -i :8080  (8080)是使用的端口号,执行完后把目前占用此端口的进程kill掉

解决办法2:

也是我最后采用的方法,在执行命令后touch一个lock文件,代码如下:

if os.access("/tmp/myhttpserver", os.F_OK):
    print "Given file path is exist."
else:
    os.system('python -m SimpleHTTPServer 8080 &')
    os.system('touch /tmp/myhttpserver')
        
程序开始判断此lock文件是否存在,不存在就执行命令并创建lock文件,锁文件放到 /tmp下,因为操作系统在重启的时候通常会自动清空 /tmp/,所以不用担心系统重启的时候锁文件还在的问题

猜你喜欢

转载自blog.csdn.net/we1583004we/article/details/80623737