經(jīng)常會(huì)發(fā)現(xiàn),很多時(shí)候我們?cè)谶\(yùn)行一些帶有端口的程序時(shí),程序經(jīng)常會(huì)報(bào)端口被占用的問(wèn)題,比如Tomcat 8080,端口起不來(lái)。
查看端口號(hào) netstat 如果發(fā)現(xiàn)某個(gè)端口被占用后,可以用命令查看,該端口到底是被哪個(gè)進(jìn)程所占用。命令如下:
netstat -pan | grep 5623
#其中5623位端口號(hào)

發(fā)現(xiàn)5623的端口,被28425的進(jìn)程id所占用,繼續(xù)進(jìn)一步跟蹤,到底是哪個(gè)程序所占用了。
通過(guò)進(jìn)程id查找程序–ps
直接通過(guò):ps -aux | grep pid 查看,進(jìn)程程序名稱
通過(guò)netstat查找端口占用的pid,再通過(guò)pid進(jìn)一步的查找程序名稱,能夠確認(rèn)目前沖突的端口是哪個(gè)程序已經(jīng)占用了,我們是重新啟用換一個(gè)端口號(hào),還是結(jié)束已經(jīng)占用的端口號(hào)所用的程序,清空被占用的端口號(hào)。
netstat 中參數(shù)選項(xiàng)
-a或--all:顯示所有連線中的Socket;
-A<網(wǎng)絡(luò)類型>或--<網(wǎng)絡(luò)類型>:列出該網(wǎng)絡(luò)類型連線中的相關(guān)地址;
-c或--continuous:持續(xù)列出網(wǎng)絡(luò)狀態(tài);
-C或--cache:顯示路由器配置的快取信息;
-e或--extend:顯示網(wǎng)絡(luò)其他相關(guān)信息;
-F或--fib:顯示FIB;
-g或--groups:顯示多重廣播功能群組組員名單;
-h或--help:在線幫助;
-i或--interfaces:顯示網(wǎng)絡(luò)界面信息表單;
-l或--listening:顯示監(jiān)控中的服務(wù)器的Socket;
-M或--masquerade:顯示偽裝的網(wǎng)絡(luò)連線;
-n或--numeric:直接使用ip地址,而不通過(guò)域名服務(wù)器;
-N或--netlink或--symbolic:顯示網(wǎng)絡(luò)硬件外圍設(shè)備的符號(hào)連接名稱;
-o或--timers:顯示計(jì)時(shí)器;
-p或--programs:顯示正在使用Socket的程序識(shí)別碼和程序名稱;
-r或--route:顯示Routing Table;
-s或--statistice:顯示網(wǎng)絡(luò)工作信息統(tǒng)計(jì)表;
-t或--tcp:顯示TCP傳輸協(xié)議的連線狀況;
-u或--udp:顯示UDP傳輸協(xié)議的連線狀況;
-v或--verbose:顯示指令執(zhí)行過(guò)程;
-V或--version:顯示版本信息;
-w或--raw:顯示RAW傳輸協(xié)議的連線狀況;
-x或--unix:此參數(shù)的效果和指定"-A unix"參數(shù)相同;
--ip或--inet:此參數(shù)的效果和指定"-A inet"參數(shù)相同。