发表于 2019-08-18 21:00:36 by 月小升

一、

例子

lsof -i:7000

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

frps 1249 root 3u IPv6 15992 0t0 TCP *:afs3-fileserver (LISTEN)

frps 1249 root 8u IPv6 31866 0t0 TCP iz2ze9n3z2fl9zj9hrv58vz:afs3-fileserver->181.118.50.55:49238 (ESTABLISHED)

端口被

# lsof -i:80

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

AliYunDun 1049 root 20u IPv4 13083 0t0 TCP iz2ze9n3z2fl9zj9hrv58vz:37170->100.100.30.25:http (ESTABLISHED)

nginx 1310 root 6u IPv4 16343 0t0 TCP *:http (LISTEN)

nginx 1311 nginx 6u IPv4 16343 0t0 TCP *:http (LISTEN)

nginx 1311 nginx 17u IPv4 526207 0t0 TCP iz2ze9n3z2fl9zj9hrv58vz:http->crawl-66-249-79-209.googlebot.com:38231 (ESTABLISHED)

nginx 1312 nginx 6u IPv4 16343 0t0 TCP *:http (LISTEN)

解释下LISTEN 和 ESTABLISHED的意义

1).LISTEN 端口启动后服务器的nginx对80端口首先处于侦听(LISTENING)状态。

2).ESTABLISHED 建立连接。表示两台机器正在80端口通信。

3).TIME_WAIT 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。

4)CLOSE_WAIT 对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭

COMMAND:进程名称

PID:进程标识符

USER:进程所有者

FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd,txt等

TYPE:文件类型,如DIR,REG等

DEVICE:指定磁盘的名称

SIZE:文件的大小

NODE:索引节点(文件在磁盘上的标识)

NAME:打开文件的进程名称

lsof -i:80:查看80端口占用

lsof abc.txt:显示开启文件abc.txt的进程

lsof -c abc:显示abc进程现在打开的文件

lsof -d 4:显示使用fd为4的进程

lsof -i -U:显示所有打开的端口和UNIX domain文件

lsof -c -p 1234:列出进程号为1234的进程所打开的文件

lsof -g gid:显示归属gid的进程情况

lsof +d /usr/local/:显示目录下被进程开启的文件

lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长

二、 netstat 查看端口占用

netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。

netstat 查看端口占用语法格式:

netstat -tunlp | grep 端口号

-t (tcp) 仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化为数字

-l 仅列出在Listen(监听)的服务状态

-p 显示建立相关链接的程序名

例如查看 8000 端口的情况,使用以下命令:

netstat -tunlp | grep 8000

tcp6 0 0 :::7000 :::* LISTEN 1249/./

更多netstat查看端口占用的命令:

netstat -ntlp //查看当前所有tcp端口

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

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

netstat 实战如何查询一个服务占用的端口

1.查询squid占用的进程

ps aux|grep squid

root 10870 0.0 0.0 92644 3744 ? Ss 13:21 0:00 /usr/sbin/squid -f /etc/squid/squid.conf

squid 10872 0.0 0.4 106168 16084 ? S 13:21 0:00 (squid-1) -f /etc/squid/squid.conf

squid 10873 0.0 0.0 27436 1228 ? S 13:21 0:00 (logfile-daemon) /var/log/squid/access.log

root 10921 0.0 0.0 112680 740 pts/0 S+ 13:29 0:00 grep --color=auto squid

2.查看端口监听

netstat -nap | grep squid

tcp6 0 0 :::3128 :::* LISTEN 10872/(squid-1)

udp 0 0 0.0.0.0:37679 0.0.0.0:* 10872/(squid-1)

udp6 0 0 :::46994 :::* 10872/(squid-1)

unix 2 [ ] DGRAM 617223 10870/squid

unix 3 [ ] STREAM CONNECTED 618094 10872/(squid-1)

tcp在用3128 进程号为10872,对应了ps aux|grep squid 的第二条记录10872

判断squid占用了3128端口

netstat -nap | grep 3128

tcp6 0 0 :::3128 :::* LISTEN 10872/(squid-1)

三、fuser是查看某个文件被哪个进程占用的

fuser查看7000端口的进程占用情况

fuser 7500/tcp -v

USER PID ACCESS COMMAND

7500/tcp: root 1249 F.... frps

This entry was posted in Linux and tagged linux, 端口. Bookmark the permalink.

月小升QQ 2651044202, 技术交流QQ群 178491360

首发地址:月小升博客 – https://java-er.com/blog/linux-port-using/

无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢

linux查看3306是哪个进程占用,linux查看端口占用相关推荐

  1. Shell脚本和Python查看Nginx并发连接数、进程数和常驻内存占用情况

    Shell脚本查看Nginx并发连接数.进程数和常驻内存占用情况 http://xiaoyongxing1.blog.163.com/blog/static/642807522015144302240 ...

  2. 查询端口占用和清除端口占用的程序

    一.在windows操作系统中,查询端口占用和清除端口占用的程序 提升权限后用:netstat -b 或用 1.查询端口占用的进程ID 点击"开始"-->"运行&q ...

  3. windows与Linux查看端口占用并终止端口占用

    终止端口占用 一.Windows版: 二.Linux版: 一.Windows版: 1.开始–运行–cmd 进入命令提示符, 2.输入netstat -ano 查看所有端口连接对应的PID , C:\& ...

  4. Linux中不同进程同一个端口,linux系统实现多个进程监听同一个端口

    通过 fork 创建子进程的方式可以实现父子进程监听相同的端口. 方法:在绑定端口号(bind函数)之后,监听端口号之前(listen函数),用fork()函数生成子进程,这样子进程就可以克隆父进程, ...

  5. linux删除位于后台的进程组,linux命令(12)-进程与作业管理

    (1)at 在指定时间完成任务 root可以使用这个命令,对于其他用户来说,能否可以使用就取决于两个文件:/etc/at.allow和/etc/at.deny,可以使用是将"用户名" ...

  6. linux dr校园网端口被占用,Dr.com端口占用的解决

    Windows Vista 端口占用是个非常头痛的事情,我们学校用这个软件来认证我们上网,但是他总是出一些莫名其妙的问题,什么端口占用啊,找不到网卡啊,自动注销啊,登陆超时啊,很是烦人,端口占用可以把 ...

  7. CentOS查询端口占用和清除端口占用的程序

    1.查询端口号占用,根据端口查看进程信息 [root@server2 ~]# lsof -i:80 COMMAND  PID   USER   FD   TYPE DEVICE SIZE NODE N ...

  8. 如何在Windows中查找并端口占用和释放端口占用?

    引言: 在日常工作中,经常会碰到启动某个应用时,提示xxx端口已经并占用,导致当前应用无法正常启动. 如何找到占用特定端口的应用并将其释放呢?本文将详述整个过程. 1.  查找看当前系统的端口使用情况 ...

  9. 怎么查看linux系统下数据库的进程数,如何查看sybase数据库运行情况

    sybase数据库是不少企业管理系统的常用数据库,可运行在windows和linux等操作系统环境之下,适用性广. 1.检查数据库是否运行.检查步骤 :操作系统命令Sun solaris 和unix ...

最新文章

  1. 三维感知,这些干货足够了!(自动驾驶/三维重建/SLAM/点云/标定/深度估计/3D检测)...
  2. 经典基础算法之面试题(系列一)
  3. Facebook、LinkedIn、Airbnb、Google专家聚首QCon,他们会带来什么?
  4. 魔兽怀旧网站模块下载_一个人的网站重新设计和怀旧
  5. linux mate eth0已下线,Linux Mint 18 Cinnamon 版和 MATE 版已经可以下载了
  6. python中的引用怎么理解_python 引用和对象理解
  7. 2022最新Spring相关大厂常问技术面试题大全 —— 金三银四好时机
  8. 【Flink】Flink 提交任务到yarn报错 proxy provider ConfiguredFailoverProxyProvider NetUtils.getSocketAddressS
  9. VMware vCenter Server 的内部版本号和版本 (2143838)--2020-10-27 更新
  10. 北航博士,研究所月入两万,是一种什么体验?
  11. 鸿蒙移植stm32,韦东山老师要移植鸿蒙的那个STM32MP157具体是什么?
  12. win10更换系统启动时候的图片
  13. Wireshark数据抓包分析之FTP协议
  14. CountDownTimer 倒计时器
  15. 微软个人云端服务器在哪里找,云端的服务器在哪里
  16. 微信内测朋友圈内容转发功能;快手前副总裁侵占756万余元,一审获刑7年;​俄罗斯法院驳回苹果上诉,将继续进行反垄断调查|极客头条
  17. STM32F103C8T6使用RTC实现日历读取、设置和输出
  18. 深度之眼Paper带读笔记1:Deep learning
  19. Jenkins使用经验谈4(创建Job)
  20. mock模拟接口测试 vue_VUE使用Mock模拟接口

热门文章

  1. Cesium学习笔记(十):粒子系统(Particle System)
  2. 企业网站的全能保镖——华为云网站安全解决方案
  3. 金融数据分析——DataJoy银行客户购买预测
  4. 超级电容器可以消除传感器节点的功率需求
  5. 为什么PCB要沉金?
  6. cisco中的管道符号(include begin section)
  7. SQL Server删除表
  8. H5一段文字中有URL链接地址,自定义拼接a标签可以让他点击跳转
  9. 机器学习基础:ROC曲线与AUC计算详解
  10. 前端无感刷新token