在玩django时遇到的问题,端口使用情况以及解决方案

在开服务(指定端口为8000)的时候遇到如下的报错信息:Error: That port is already in use.

问题:8000端口被占用,该如何释放被占用的端口?

                                              解决方案

part one 先来看下端口使用情况:

1.netstat  -anp  |grep   端口号 可以查看到端口是否被占用

如下,我以8000为例,netstat  -anp  |grep  8000(此处备注下,我是以root用户操作,如果是普通用户需要加上了sudo, sudo netstat  -anp  |grep  8000),如下图1

图一

图1中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务python占用,查看具体端口号,只要有如图这一行就表示被占用了。(tcp 端口号 listen 这三个)

2.netstat   -nultp(此处不用加端口号)

该命令是查看当前所有已经使用的端口情况,如图2:

图二

有上图可以看到 我的8000,111,15458 等等端口被占用了。


3.netstat  -anp  |grep  82查看82端口的使用情况,如图3:

图三

仔细看这个图!可以看出并没有LISTEN那一行,所以就表示没有被占用。

此处注意!图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,

查看具体端口是否被占用时,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了

part two,准备杀掉占用端口的服务


1.查看端口属于哪个程序?端口被哪个进程占用 lsof -i:8000 看下图4


图四

可以看到 占用8000端口的服务的pid为26275

2.杀掉占用端口的进程   kill -9 26175

杀完再lsof -i:8000 啥也没有 就说明被删掉了

图五


today over!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容