CMD命令,解決端口衝突問題

在開發過程中,經常會碰到一些啓動某個服務,啓動時報端口衝突,怎麼也啓不來,好像只有重啓電腦纔可以解決這個問題,但是有時候,很多服務是在電腦啓動就自動啓動的,導致一些開發者,經常會問,爲什麼我重啓電腦了,還是不行,但是又不知道是那一個服務衝突了,這樣非常耗時且又頭痛的一件事,下面總結一下,解決這些問題的通用方法。

1、隨便以一個服務來驗證一下,MongoDB爲例,首先我們在本地服務裏面,查看一下他的狀態,是啓動狀態,我一般會把一些不常用的服務,設爲手動啓動,在需要的時候,才把它啓動。現在我們已經手動啓動了

在這裏插入圖片描述

2、好了,如果這個服務是啓動狀態,我們在開發的時候,需要通過命令,按流程啓動一些服務,例如,1:要啓動nginx 2:要啓動mysql 3:要啓動一mongoDB… ,前面的服務都依次啓動了,啓動mongoDB時,發現報錯了

現在,我們輸入mongoDB命令啓動一下,發現報以下問題,端口是:27017,通常在遇到這樣的問題,如何解決呢?

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

在這裏插入圖片描述

解決方案

1、在命令窗口,輸入命令:netstat -aon|findstr 27017 會列出哪些進程佔用了這個端口

netstat -aon|findstr 27017

箭頭指向表示有這些進程佔用了這個端口
在這裏插入圖片描述

2、繼續輸入:tasklist /fi “pid eq 11376”,這個命令是查找到11376這個進程的詳細信息,如下圖所示

tasklist /fi "pid eq 11376"

在這裏插入圖片描述

3、找到了這個服務的進程,如果有多個,我們把不需要的進程殺死就可以了,如何殺死不需要的進程呢?在上圖中,有一個PID值:11376,輸入命令:taskkill /pid 11376 /f

taskkill /pid 11376 /f 

在這裏插入圖片描述

如果,靠命令殺不死,我們已經知道是那一個服務了,打開任務管理器,在任務管理器中結束進程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章