想必大家在部署環境啟動服務的時候,會遇到服務起不起來的問題,看日志,說是端口被占用了。
有的時候,我們不想改端口,那么,就需要去查看到底是哪個應用把這個端口給占用了,然后干掉它即可。
下面分別列舉linux和windows下根據端口查找服務的進程的小技巧。
linux下查看占用端口的進程
(1)查找哪個進程占用了8091端口
netstat -ntpl | grep 8091,其中:
n表示拒絕顯示別名,能顯示數字的全部轉化成數字
t表示只顯示tcp
p表示顯示建立相關鏈接的程序名
l表示僅列出有在 Listen (監聽) 的服務狀態
(2)找出對應pid的進程詳細信息
ps -ef | grep 8091
有時,也可以通過進程的啟動目錄確定是哪個服務
pwdx 8091
(3)殺掉該進程
kill -9 8091

windows下查看占用端口的進程
如果報:OSError: [WinError 10013] 以一種訪問權限不允許的方式做了一個訪問套接字的嘗試,多半都是端口被占用了,換一個端口即可
(1)查找哪個進程占用了8080端口
netstat -ano|findstr 8080
(2)找出對應pid的進程詳細信息
tasklist |findstr 3168
(3)殺掉該進程
taskkill /pid 3168 /F
或:taskkill /F /PID 3168
/F,指定要強行終止進程。
/PID,指定要終止的進程的PID
這樣8080端口就是釋放了。

通過任務管理器,也可以看出,3168進程是java進程


