解决Ubuntu端口占用问题

时间:2025-03-19 10:41:41

问题描述:
在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
#可以看到,该端口现在已经没有进程占用了.

至此,问题得以解决!