殺掉佔用指定埠的程序
阿新 • • 發佈:2019-01-03
有時啟動tomcat,會啟動失敗,說埠已經被佔用,那麼到底是哪個程式佔用了埠呢?
如何判斷是哪個程序(程式)佔用了指定的埠呢?
下面我會分兩個平臺(windows,linux)來進行詳細說明
- windows 系統
通過如下命令查詢佔用指定埠的pid(程序id)
netstat -ano|findstr <指定的埠號>
例如,查詢佔用埠8080 的程序
說明pid為1532 的程序佔用了8080埠
然後,我們開啟工作管理員,找到程序,
那麼如何殺死程序呢?
taskkill /pid 1532 /f
注意:pid後面跟的就是pid
- linux
通過如下命令查詢佔用指定埠的pid(程序id)
netstat -aonp |grep ":80[ ]\+"|awk -F" " {'print $0'}
這是查詢佔用80埠的程序
說明pid為11116 的程序佔用了80埠
優化後如下:
netstat -aonp |grep "^[a-z]\+[ ]\+0[ ]\+0[ ]\+[0-9\.]\+:80[ ]\+"|awk -F" " {'print $0'}
那我們來驗證一下
果然是tomcat 佔用了80埠.
如果只顯示pid呢?
netstat -anp |grep "^[a-z]\+[ ]\+0[ ]\+0[ ]\+[0-9\.]\+:80[ ]\+"|awk -F " " {'print $7'}|cut -d"/" -f1
那麼在linux中如何殺死程序呢?
kill -9 11116