1、lsof -i:端口號(hào)
2、netstat -tunlp|grep 端口號(hào)
都可以查看指定端口被哪個(gè)進(jìn)程占用的情況
1、lsof -i:端口號(hào)
2、netstat -tunlp|grep 端口號(hào)
都可以查看指定端口被哪個(gè)進(jìn)程占用的情況
【步驟一】lsof -i
lsof -i 用以顯示符合條件的進(jìn)程情況,lsof(list open files)是一個(gè)列出當(dāng)前系統(tǒng)打開(kāi)文件的工具。以root用戶來(lái)執(zhí)行l(wèi)sof -i命令,如下圖
【步驟二】lsof -i:端口號(hào)
lsof -i:端口號(hào),用于查看某一端口的占用情況,比如查看22號(hào)端口使用情況,lsof -i:22,如下圖
【步驟三】netstat -tunlp
netstat -tunlp用于顯示tcp,udp的端口和進(jìn)程等相關(guān)情況,如下圖
【步驟四】netstat -tunlp|grep 端口號(hào)
netstat -tunlp|grep 端口號(hào),用于查看指定端口號(hào)的進(jìn)程情況,如查看22端口的情況,netstat -tunlp|grep 22,如下圖
netstat -ntulp | grep 3306 //查看所有3306端口使用情況·
Linux查看程序端口占用情況
使用命令:
ps -aux | grep tomcat
發(fā)現(xiàn)并沒(méi)有8080端口的Tomcat進(jìn)程。
使用命令:netstat –apn
查看所有的進(jìn)程和端口使用情況。發(fā)現(xiàn)下面的進(jìn)程列表,其中最后一欄是PID/Program name
發(fā)現(xiàn)8080端口被PID為9658的Java進(jìn)程占用。
進(jìn)一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明確知道8080端口是被哪個(gè)程序占用了!然后判斷是否使用KILL命令干掉!
方法二:直接使用 netstat -anp | grep portno
即:netstat -anp|grep 8080
netstat -anp|grep 8080 --> tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 28500/java
ps -aux | grep 28500 --> r/local/tomcat9-jforum/tomcat
安裝lsof list open files//---也可以 netstat -tunlp|grep 端口號(hào) netstat -anp|grep 端口號(hào)
yum install lsof
lsof -i:8080 查看8080端口占用
lsof abc.txt 顯示開(kāi)啟文件abc.txt的進(jìn)程
lsof -c abc 顯示abc進(jìn)程現(xiàn)在打開(kāi)的文件
lsof -c -p 1234 列出進(jìn)程號(hào)為1234的進(jìn)程所打開(kāi)的文件
lsof -g gid 顯示歸屬gid的進(jìn)程情況
lsof +d /usr/local/ 顯示目錄下被進(jìn)程開(kāi)啟的文件
lsof +D /usr/local/ 同上,但是會(huì)搜索目錄下的目錄,時(shí)間較長(zhǎng)
lsof -d 4 顯示使用fd為4的進(jìn)程
lsof -i 用以顯示符合條件的進(jìn)程情況
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4地址
service --> /etc/service中的 service name (可以不止一個(gè))
port --> 端口號(hào) (可以不止一個(gè))
lsof -i //顯示所有打開(kāi)的端口
lsof -i:80 //顯示所有打開(kāi)80端口的進(jìn)程
lsof -i -U //顯示所有打開(kāi)的端口和UNIX domain文件
其實(shí)我一般這樣用:
[root@VM_39_230_centos bin]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 16422 mysql 19u IPv6 148794 0t0 TCP *:mysql (LISTEN)
mysqld 16422 mysql 39u IPv6 643698 0t0 TCP localhost:mysql->localhost:36582 (ESTABLISHED)
mysqld 16422 mysql 45u IPv6 643699 0t0 TCP localhost:mysql->localhost:36584 (ESTABLISHED)
mysqld 16422 mysql 46u IPv6 643700 0t0 TCP localhost:mysql->localhost:36586 (ESTABLISHED)
mysqld 16422 mysql 47u IPv6 643702 0t0 TCP localhost:mysql->localhost:36588 (ESTABLISHED)
mysqld 16422 mysql 48u IPv6 643704 0t0 TCP localhost:mysql->localhost:36590 (ESTABLISHED)
java 17302 root 122u IPv4 643695 0t0 TCP localhost:36582->localhost:mysql (ESTABLISHED)
java 17302 root 123u IPv4 643701 0t0 TCP localhost:36588->localhost:mysql (ESTABLISHED)
java 17302 root 124u IPv4 643696 0t0 TCP localhost:36586->localhost:mysql (ESTABLISHED)
java 17302 root 125u IPv4 643697 0t0 TCP localhost:36584->localhost:mysql (ESTABLISHED)
java 17302 root 126u IPv4 643703 0t0 TCP localhost:36590->localhost:mysql (ESTABLISHED)
或者
[root@VM_39_230_centos bin]# netstat -ntulp | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 16422/mysqld
找到pid 然后
[root@VM_39_230_centos bin]# ps -aux | grep 16422
mysql 16422 0.0 47.7 1340428 485944 ? Sl Jun29 1:46 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/VM_39_230_centos.err --pid-file=/var/lib/mysql/VM_39_230_centos.pid
root 25713 0.0 0.0 112616 700 pts/0 R+ 17:04 0:00 grep --color=auto 16422
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答?。?點(diǎn)擊進(jìn)入論壇