linux下常用命令查看端口占用

原创 2017年07月03日 16:54:50
在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询
netstat命令各个参数说明如下:
  -t : 指明显示TCP端口
  -u : 指明显示UDP端口
  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
  -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
  -n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp   //查看当前所有tcp端口·
netstat -ntulp |grep 80   //查看所有80端口使用情况·

netstat -ntulp | grep 3306   //查看所有3306端口使用情况·




Linux查看程序端口占用情况
使用命令:
ps -aux | grep tomcat
发现并没有8080端口的Tomcat进程。
使用命令:netstat –apn
查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 
发现8080端口被PID为9658的Java进程占用。
进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用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 端口号  netstat -anp|grep 端口号 
yum install lsof
lsof -i:8080 查看8080端口占用
lsof abc.txt 显示开启文件abc.txt的进程
lsof -c abc 显示abc进程现在打开的文件
lsof -c -p 1234 列出进程号为1234的进程所打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
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 (可以不止一个)
  port --> 端口号 (可以不止一个)
  lsof -i //显示所有打开的端口
lsof -i:80 //显示所有打开80端口的进程
lsof -i -U //显示所有打开的端口和UNIX domain文件


其实我一般这样用:

[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




版权声明:本文为博主原创文章,未经博主允许不得转载。

查看linux中某个端口(port)是否被占用

1.使用lsof lsof -i:端口号查看某个端口是否被占用 2.使用netstat 使用netstat -anp|grep 80 更多内容,可以点击这里:http://www.fin...
  • hsd2012
  • hsd2012
  • 2016年05月12日 16:06
  • 148305

linux如何查看正在使用的端口

在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询 netstat命令各个参数说明如下:    -t : 指明...

Linux查看某个端口使用情况并kill

例如查看8083端口的状态:netstat -apn | grep 8083tcp 0 0 192.168.2.17:8083 0.0.0.0:* ...

Linux查找占用的端口,并杀死进程

我要使用4040端口,但是被其他的程序占用了 1. 查找占用的程序 netstat -apn | grep 4040 最后一项显示的是pid和对应的名称 2. 杀掉对应的进...

linux 查看端口使用情况

-bash-3.00# netstat -tln  netstat -tln 命令是用来查看linux的端口使用情况   /etc/init.d/vsftp start 是用来启动ftp端口~!   ...
  • zwhfyy
  • zwhfyy
  • 2009年03月09日 10:32
  • 36323

Linux 查看端口占用并杀掉

查看所有网络端口  netstat -an [root@xxxxx~]# netstat -an Active Internet connections (servers and estab...

Linux查看端口占用情况和开启端口命令

查看端口的使用的情况lsof 命令比如查看80端口的使用的情况。lsof -i tcp:80列出所有的端口netstat -ntlp查看端口的状态 /etc/init.d/iptables statu...
  • ljbmxsm
  • ljbmxsm
  • 2016年02月10日 17:24
  • 4349

Linux查看端口占用情况,并强制释放占用的端口

有时候关闭软件后,后台进程死掉,导致端口被占用。下面以TOMCAT端口8080被占用为例,列出详细解决过程。 解决方法: 1.查找被占用的端口 netstat -tlnnets...
  • tjcyjd
  • tjcyjd
  • 2016年12月15日 13:45
  • 4605

Linux查看端口使用状态、关闭端口方法

前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭...

linux下查端口是否被占用、查看所有端口

linux下查端口是否被占用、查看所有端口
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux下常用命令查看端口占用
举报原因:
原因补充:

(最多只允许输入30个字)