问题描述:在使用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/
,所以不用担心系统重启的时候锁文件还在的问题