在日常开发过程中经常遇到端口被占用的情况。这种情况的一般解决思路是:首先找到找到本端口占用的进程的进程号,然后杀掉该进程号对应的进程。Ubuntu/Centos/RedHat等Linux操作系统下一般采用如下的方法。

1 找到被占用端口的进程。我们以43900端口为例:

1
sudo netstat -nap | grep 43900

输出如下:


2 可以看到43900端口是被进程号为26456的Java进程所占用。如果在确认该进程无用的情况下可以执行如下的命令杀掉该进程,那么端口占用就会被解决:

1
sudo kill -9 26456

MAC解决方案
但是在MAC系统中没有netstat命令。我们可以用lsof(list open file)来找到占用端口的进程。然后后面的操作一样。
1 找到占用端口的进程:

1
sudo lsof -i -n -P | grep 8080

输出如下:


2 杀掉占用端口的进程:

1
sudo kill -9 49406