一個面試題,使用三種不一樣的方法查看8080被哪一個進程佔用了。一般比較熟悉的方法是netstat和lsof兩種,但還有什麼方法呢。面試
1.netstat或ss命令ssh
netstat -anlp | grep 80
2.lsof命令tcp
這個命令是查看進程佔用哪些文件的工具
lsof -i:80
3.fuser命令spa
fuser命令和lsof正好相反,是查看某個文件被哪一個進程佔用的。Linux中,萬物皆文件,因此能夠查看普通文件、套接字文件、文件系統。而套接字文件就包含了端口號。好比查看22端口。.net
fuser 22/tcp -v USER PID ACCESS COMMAND 22/tcp: root 1329 F.... sshd root 1606 f.... sshd
4.nmap工具code
nmap默認老是會掃描端口,要掃描本機端口,很方便。blog
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