一個面試題,使用三種不同的方法檢視 8080 被哪個程式佔用了。通常比較熟悉的方法是 netstat 和 lsof 兩種,但還有什麼方法呢。
1.netstat 或 ss 命令
netstat -anlp | grep 80
2.lsof 命令
這個命令是檢視程式佔用哪些檔案的
lsof -i:80
3.fuser 命令
fuser 命令和 lsof 正好相反,是檢視某個檔案被哪個程式佔用的。 Linux 中,萬物皆檔案,所以可以檢視普通檔案、套接字檔案、檔案系統。而套接字檔案就包含了埠號。比如檢視 22 埠。
fuser 22/tcp -v
USER        PID ACCESS COMMAND
22/tcp:              root      1329 F…. sshd
root      1606 f…. sshd
4.nmap 工具
nmap 預設總是會掃描埠,要掃描本機埠,很方便。
nmap localhost
Starting Nmap 5.51 ( http://nmap.org ) at 2018-03-03 18:00 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000020s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 998 closed ports
PORT  STATE SERVICE
22/tcp open  ssh
25/tcp open  smtp
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
使用 Netstat 命令檢視 Web 站群伺服器併發請求連線數  http://www.linuxidc.com/Linux/2017-11/148403.htm
netstat 命令詳解狀態  http://www.linuxidc.com/Linux/2017-06/144864.htm