在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下常用命令查看端口占用的更多相关文章

  1. windows下使用命令查看端口占用情况

    使用下面的命令查看端口占用情况: 比如查看3000端口的占用情况 netstat -ano|findstr 3000 运行后,结果如下: 可以看到进程号为9692的占用了该端口,使用下面的命令查看是哪 ...

  2. linux下top命令查看cpu占用情况

    可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令 ...

  3. linux下通过进程名查看其占用端口

    linux下通过进程名查看其占用端口: 1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程 ...

  4. Linux 下常用命令

    linux 下常用命令: 1.删除文件命令为 rm 2.创建目录的命令是:mkdir 3.删除目录的命令是rmdir(空目录) 4.切换到root帐号:su 5.查看所有进程:ps -aux 6.杀死 ...

  5. Linux下jmap命令查看内存使用

    Linux下jmap命令查看内存使用 jmap -heap 1234(1234为进程号) jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: -heap       打印heap空间的概要 ...

  6. Linux下用命令查看CPU ID以及厂家等信息

    Linux下用命令查看CPU ID // 获得CPU IDdmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}' // 获得磁盘IDfdi ...

  7. 【运维】linux命令查看端口占用情况,杀死进程,后台启动进程

    1.查看端口占用情况:> lsof -i:port COMMAND    PID    USER    FD    TYPE   DEVICE    SIZE/OFF    NODE  NAME ...

  8. linux下常用命令备忘

    转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删 ...

  9. Dos命令查看端口占用及关闭进程

    1. 查看端口占用 在windows命令行窗口下执行: netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENI ...

随机推荐

  1. CountUp.js 数字跳转效果小插件

    CountUp.js  实现数字跳转效果的小插件 //调用方法 const easingFn = function (t, b, c, d) { var ts = (t /= d) * t; var ...

  2. phpstorm 的下载、安装与激活

    1.phpstorm的下载地址 https://www.jetbrains.com/phpstorm/ 下载后的安装包如图: 2.phpstorm的安装过程 跟据电脑系统下载安装对应版本 一路点击下一 ...

  3. h5-transform二维变换

    1.html <div class="translate">1</div> <div class="scale">2< ...

  4. 在java中如何根据手机号查询号码归属地

    1.maven项目中配置 <dependency><groupId>com.googlecode.libphonenumber</groupId><artif ...

  5. vSphere 6.7 新特性 — 基于虚拟化的安全 (VBS)

    https://blogs.vmware.com/china/2018/07/27/vsphere-6-7-%E6%96%B0%E7%89%B9%E6%80%A7-%E5%9F%BA%E4%BA%8E ...

  6. CF round #622 (div2)

    CF Round 622 div2 A.简单模拟 B.数学 题意: 某人A参加一个比赛,共n人参加,有两轮,给定这两轮的名次x,y,总排名记为两轮排名和x+y,此值越小名次越前,并且对于与A同分者而言 ...

  7. Hough直线and圆环变换(如何检测直线、圆环)

    1.霍夫变换 2.cv2.HoughLines() 返回值就是(ρ, θ).ρ 的单位是像素,θ 的单位是弧度.这个函数的第一个参 数是一个二值化图像,所以在进行霍夫变换之前要首先进行二值化,或者进行 ...

  8. JavaScript学习总结(一)

    概述 前端三剑客,html.css.js. 这三种语言基本是前端开发必备的东西,那么你知道这三种语言分别负责的功能是什么吗? html:负责了一个页面的结构 css:负责页面的样式 JavaScrip ...

  9. nginx_tcp_proxy代理酸酸乳

    一.安装低版本的nginx(高版本不支持tcp代理模块:nginx_tcp_proxy_module)Nginx默认只支持http反向代理,要支持tcp反向代理,需在编译时增加tcp代理模块[ngin ...

  10. Python说文解字_defaultdict

    1. 这个构造函数需要一个函数作为参数,每当访问一个字典中不存在的键时,将会不带参数的调用这个函数,并将结果设定为默认值. 2. 众所周期,如果访问字典中不存在的键时,会引发KeyError异常. 其 ...