想必你們在部署環境啓動服務的時候,會遇到服務起不起來的問題,看日誌,說是端口被佔用了。java
有的時候,咱們不想改端口,那麼,就須要去查看究竟是哪一個應用把這個端口給佔用了,而後幹掉它便可。linux
下面分別列舉linux和windows下根據端口查找服務的進程的小技巧。windows
(1)查找哪一個進程佔用了8091端口
netstat -ntpl | grep 8091,其中:tcp
n表示拒絕顯示別名,能顯示數字的所有轉化成數字日誌
t表示只顯示tcpblog
p表示顯示創建相關連接的程序名進程
l表示僅列出有在 Listen (監聽) 的服務狀態部署
(2)找出對應pid的進程詳細信息
ps -ef | grep 8091List
有時,也能夠經過進程的啓動目錄肯定是哪一個服務權限
pwdx 8091
(3)殺掉該進程
kill -9 8091
若是報: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進程