问题描述:
在Ubuntu18.04中执行python文件,报错显示监听的端口已经被占用,如下:
root@Aliyun:~# python3
* Serving Flask app 'jieshou3' (lazy loading)
* Environment: production
* Debug mode: on
Address already in use
Port 27005 is in use by another program. Either identify and stop that program, or start the server with a different port.
解决方法:
1、选择使用其它端口.
2、杀死占用这个端口的进程
- 检测端口占用
root@Aliyun:~# netstat -npl | grep 27005
tcp 0 0 0.0.0.0:27005 0.0.0.0:* LISTEN 22251/python3
- 查找占用端口的进程的PID
root@Aliyun:~# sudo lsof -i:27005
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3 22251 root 3u IPv4 3548813328 0t0 TCP *:27005 (LISTEN)
python3 22251 root 5u IPv4 3548813328 0t0 TCP *:27005 (LISTEN)
python3 22260 root 3u IPv4 3548813328 0t0 TCP *:27005 (LISTEN)
python3 22260 root 5u IPv4 3548813328 0t0 TCP *:27005 (LISTEN)
- 根据PID杀死该进程
#依次杀死进程.
root@Aliyun:~# sudo kill -9 22251
root@Aliyun:~# sudo lsof -i:27005
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3 22260 root 3u IPv4 3548813328 0t0 TCP *:27005 (LISTEN)
python3 22260 root 5u IPv4 3548813328 0t0 TCP *:27005 (LISTEN)
root@Aliyun:~# sudo kill -9 22260
root@Aliyun:~# sudo lsof -i:27005
#可以看到,该端口现在已经没有进程占用了.
至此,问题得以解决!