CMD命令,解决端口冲突问题

在开发过程中,经常会碰到一些启动某个服务,启动时报端口冲突,怎么也启不来,好像只有重启电脑才可以解决这个问题,但是有时候,很多服务是在电脑启动就自动启动的,导致一些开发者,经常会问,为什么我重启电脑了,还是不行,但是又不知道是那一个服务冲突了,这样非常耗时且又头痛的一件事,下面总结一下,解决这些问题的通用方法。

1、随便以一个服务来验证一下,MongoDB为例,首先我们在本地服务里面,查看一下他的状态,是启动状态,我一般会把一些不常用的服务,设为手动启动,在需要的时候,才把它启动。现在我们已经手动启动了

CMD命令,解决端口冲突问题_第1张图片

2、好了,如果这个服务是启动状态,我们在开发的时候,需要通过命令,按流程启动一些服务,例如,1:要启动nginx 2:要启动mysql 3:要启动一mongoDB… ,前面的服务都依次启动了,启动mongoDB时,发现报错了

现在,我们输入mongoDB命令启动一下,发现报以下问题,端口是:27017,通常在遇到这样的问题,如何解决呢?

mongod --dbpath D:\developer\env\MongoDB\data

CMD命令,解决端口冲突问题_第2张图片

解决方案

1、在命令窗口,输入命令:netstat -aon|findstr 27017 会列出哪些进程占用了这个端口

netstat -aon|findstr 27017

箭头指向表示有这些进程占用了这个端口
CMD命令,解决端口冲突问题_第3张图片

2、继续输入:tasklist /fi “pid eq 11376”,这个命令是查找到11376这个进程的详细信息,如下图所示

tasklist /fi "pid eq 11376"

CMD命令,解决端口冲突问题_第4张图片

3、找到了这个服务的进程,如果有多个,我们把不需要的进程杀死就可以了,如何杀死不需要的进程呢?在上图中,有一个PID值:11376,输入命令:taskkill /pid 11376 /f

taskkill /pid 11376 /f 

CMD命令,解决端口冲突问题_第5张图片

如果,靠命令杀不死,我们已经知道是那一个服务了,打开任务管理器,在任务管理器中结束进程

你可能感兴趣的:(开发工具)